【Linux下Shell的for循环语句】教程文章相关的互联网学习教程文章

[Linux] shell中for循环grep正则统计指定关键字【代码】

需求是统计某个业务的访问个数日志服务器上的目录结构是如下,搜索最近7天的指定关键字数据,并排重统计个数:drwxr-xr-x 2 root root 4096 Nov 15 08:00 2019-11-15 drwxr-xr-x 2 root root 4096 Nov 16 08:00 2019-11-16 drwxr-xr-x 2 root root 4096 Nov 17 08:00 2019-11-17 drwxr-xr-x 2 root root 4096 Nov 18 08:00 2019-11-18 drwxr-xr-x 2 root root 4096 Nov 19 08:00 2019-11-19 drwxr-xr-x 2 root root 4096 Nov 20 08:00...

linux-UNIX通过URL列表循环并使用wget保存【代码】

我正在尝试下载许多文件,并且可以使用unix长时间下载,但是如何使用循环功能呢?我有许多表格,例如CA30和CA1-3,可供下载.我可以将表名称放在列表列表中(“ CA30”,“ CA1-3”)并在列表中循环吗?#!/bin/bash# get the CA30 files and put into folder for CA30 sudo wget -PO "https://www.bea.gov/regional/zip/CA30.zip" sudo mkdir -p in/CA30 sudo unzip O/CA30.zip -d in/CA30# get the CA30 files and put into folder for CA...

在python或bash循环中运行linux cat命令【代码】

我在目录中有999,999个文件:member.php\?1member.php\?2...member.php\?99999我想在特定文件的bash或python循环中运行以下cat命令.该命令应该从.php文件中提取用户名,但由于涉及大量文件,因此无法使用.root@alimp5: cat member.php\?* | grep -i '<li class="navbit lastnavbit"><span>' | cut -d'>' -f3 | cut -d'<' -f1 >> users.txt我的解决方案(这种方式很好用):在每个文件上逐步执行上述cat命令,如下所示:root@alimp5:cat...

linux-xcb_grab_key上没有错误,但是没有捕获事件循环(全局热键)【代码】

我正在尝试在Linux上设置全局热键. 我最初使用x11(libX11.so),但是我必须从线程执行此操作.我尝试过,但是XPendingEvent和XNextEvent最终会使应用程序崩溃. 所以我切换到xcb(libxcb.so.1).没有错误,我什至用xcb_request_check进行了检查,但是事件循环没有拾取任何东西.一旦开始循环,我只会得到一个看起来像这样的事件:{response_type: 0,pad0: 10,sequence: 2,pad: [620, 2162688, 0, 0, 0, 0, 0],full_sequence: 2 }这是我的代码,...

Linux-bash选择循环不起作用【代码】

我正在尝试学习bash.在一些教程中,我发现了select循环.但是它不能在我的MAC OS或Linux上运行.我的代码是这样的:#!/bin/bash names="Kyle Cartman Stan Quit" PS3="Select character: " select name in $namesdoecho "name="$name done我使用./test.sh来调用该程序及其结果,如下所示:1) Kyle 2) Cartman 3) Stan 4) Quit Select character: Kyle name= Select character: Stan name= Select character: 似乎无法检测到我的输入.有...

基于linux或windows的c/s的循环服务器求一元二次方程的根【代码】【图】

在linux和windows上实现 c/s模式 socket循环服务器求解一元二次方程的根 ax^2+bx+c=0 根据上式,客户端发送a,b,c给服务器,返回求解的根 暂未考虑非法数据等问题 linux: tcpclient.cpp1 #include<iostream>2 #include <unistd.h>3 #include<sys/types.h>4 #include<sys/socket.h>5 #include<netdb.h>6 #include<arpa/inet.h>7 #include<cstring>8 #include<sstream>9 10 using namespace std;11 12 #define BUFSIZE 51213 14 // #d...

Linux-for循环范围不起作用ksh【代码】

我试过了#!/bin/ksh for i in {1..10} doecho "Welcome $i times" done在AIX框的Ksh中.我得到的输出是,Welcome {1..10} times怎么了它不是应该从1到10打印吗?编辑:根据perkolator的帖子,从Iterating through a range of ints in ksh?开始 它仅适用于linux. unix box ksh是否有其他解决方法/替代方法?for i in 1 2 3 4 5 6 7 8 9 10很难看 谢谢.解决方法:从内存来看,我认为AIX上的标准ksh是较旧的版本.它可能不支持有范围的for循...

Linux-使用自动键在Web浏览器选项卡中循环【代码】

我正在尝试创建一个宏,当点击“ F10”时将循环浏览并更新浏览器选项卡.目前,它只会更新我当前所在的页面,不会循环浏览它们,我尝试对其进行谷歌搜索,但所有答案均针对“ AutoHotKey”.因此,我查看了“ AutoKey”的文档,并尝试将“ AutoHotKey”脚本转换为“ AutoKey”(python),但是它不起作用,我也不知道为什么. 这是剧本 keyboard.send_keys(“< f5>”) keyboard.press_key(“< ctrl>”) keyboard.send_keys(“< tab>”) keyboard....

linux-Bash脚本,需要帮助循环【代码】

目前,我正在使用此脚本来阻止中国的IP地址:# Create the ipset list ipset -N china hash:net# remove any old list that might exist from previous runs of this script rm cn.zone# Pull the latest IP set for China wget -P . http://www.ipdeny.com/ipblocks/data/countries/cn.zone# Add each IP address from the downloaded list into the ipset 'china' for i in $(cat ./cn.zone ); do ipset -A china $i; done# Resto...

Linux shell脚本分支循环函数笔记【代码】

测试和判断 test命令(也可以使用[]代替test)可用来判断文件 整数 和字符串 返回逻辑值文件测试 -e 文件存在 -d 文件类型是否为目录 -f文件类型为普通文件整数比较 -eq (equal)相等 -ge (greater equal)大于等于 -gt(greater than) 大于 -le(less equal)小于等于 -lt(less than)小于更高级的test支持 ><=等符号的使用 这时要用[[]]符号代表test的高级用法字符串测试 -n 字符串长度是否非0 -z 是否为0 =字符串判等 !=字符串不等 (详...

Linux,scanf循环,而标准输入已加载【代码】

我在scanf和Linux循环上遇到麻烦.#include <stdio.h> #include <stdlib.h> #include <stdio_ext.h>int main(int argc, char ** argv){int i = 0;char s[255];char c;while(i<10){printf("Here : ");scanf(" %s", s);printf("%s\n", s);i++;while((c = getchar()) != '\n' && c != EOF);}return EXIT_SUCCESS; }如果在shell Linux中,如果我执行这样的文件:echo "lol" | ./testWhileScanf那么结果将是这样的:Here : lol Here : lol...

linux-将输出命令保存在变量中并写入for循环【代码】

我想写一个shell脚本.我使用以下命令行在嵌套子目录中列出我的jpg文件:find . -type f -name "*.jpg"如何将该命令的输出保存在变量中,并为此编写一个for循环? (我想为每个jpg文件做一些处理步骤)解决方法:比存储在变量中更好,请使用以下命令:find . -type f -name "*.jpg" -exec command {} \;即使,如果需要,命令也可以是完整的shell脚本. 演示比解释更好,不是吗?复制将整行粘贴到终端中:cat<<'EOF' >/tmp/test #!/bin/bashec...

linux-在“ for”循环中读取带有空格,带有多个输入文件的制表符的完整行【代码】

我看过“ for”循环的文章.它根据空格(例如空格,制表符或换行符)的出现情况进行拆分.为了解决这个问题,我需要执行以下命令:IFS=$'\n'但是,当我尝试在以下详细信息上解决上述情况时(我在当前目录中有两个文件:“ input1.txt”和“ input.txt”): BASH命令:bash script.sh 'input*'下面是script.sh中的“ for”循环块for line in $(cat $1) ... ... done;执行时出现以下错误:cat: input1.txt input.txt*: No such file or direc...

linux – 扩展脚本以循环遍历多个文件并生成输出名称【代码】

我有以下脚本(名为vid2gif.sh)将视频文件转换为gif:#! /bin/bash ffmpeg -i $1 /tmp/gif/out%04d.gif gifsicle --delay=10 --loop /tmp/gif/*.gif > $2我可以使用命令转换文件:vid2gif.sh myvid.mp4 myvid.gif如何让它转换文件夹中的所有mp4文件?也就是说,如何进行以下命令工作:vid2gif.sh *.mp4脚本应该输出文件* .gif.谢谢你的帮助.解决方法: #!/bin/sh for f; dotempdir=$(mktemp -t -d gifdir.XXXXXX)ffmpeg -i "$f" "$tem...

linux – 如何在bash中使用for-each循环迭代文件路径?【代码】

以下命令尝试枚举当前目录中的所有* .txt文件并逐个处理它们:for line in "find . -iname '*.txt'"; do echo $linels -l $line; done为什么我会收到以下错误?:ls: invalid option -- 'e' Try `ls --help' for more information.解决方法:这是循环文件的更好方法,因为它处理文件名中的空格和换行符:find . -type f -iname "*.txt" -print0 | while IFS= read -r -d $'\0' line; doecho "$line"ls -l "$line" done