Articles of 循环

用inotify处理预先存在的文件

我正在监视目录中新文件的创build/移动。 我目前正在使用一个简单的ls循环 ,我想移动到inotify 。 我有一个主要的麻烦:如何处理与预先存在的文件的初始化(在崩溃的情况下,重新启动,停止,…)? 最初,我只想监视IN_CREATE和IN_MOVED_TO,但是这不会处理预先存在的文件。 可以通过inotify本地处理吗?

For循环打印两个$值而不是一个

我有一个bash数组循环的问题。 下面的代码,而不是单独打印每个值,join两个值,并打印它们,如果它们是一个。 #!/bin/bash declare -a array=( 'sf052' 'to060' 'pw' 'qb099' 'pw22' 'wp039' 'wx12' 'wx11' ) for i in "${array[@]}"; do echo $i done 输出: sf052 to060 pw qb099 pw22 wp039 wx12 wx11 预期产出: sf052 to060 pw qb099 pw22 wp039 wx12 wx11 运行bash –version提供 GNU bash, version 4.2.45(1)-release (x86_64-pc-linux-gnu) 和uname -a : Linux server1 3.11.0-12-generic #19-Ubuntu […]

可执行while循环:没有这样的文件或目录

我想写一个简单的bash脚本迭代可执行文件的input参数。 有问题的文件有两个参数。 以下脚本工作,在包含.sh文件和.exe文件的目录中运行terminal: #!bin/bash ./exec 1000 1 但是,以下不: #!bin/bash n=1 while [ $n -le 50 ] do ./exec 1000 $n n=$(( n+1 )) done 而是返回错误 script.sh:第5行:./exec 1000 1:没有这样的文件或目录 script.sh:第5行:./exec 1000 2:没有这样的文件或目录 等等。 这意味着循环正在发生,但我不明白为什么突然找不到可执行文件。 我正在运行Ubuntu 14.04。

bash在通过一对文件迭代大约3600万行之后返回错误的结果 – 这是内存错误吗?

我在bash中编写了一个简单的脚本来遍历一对文本文件,以确保它们的格式正确。 所需格式如下: 每个文件包含数以百万计的“logging”。 每个logging在每个文件中占用两行 – 一个标题行和一个序列行。 每个标题行由一个“>”符号组成,后跟一个样本名称(字母数字string),后跟一个句点,后跟一个唯一的logging标识号(一个整数),后跟一个后缀'/ 1'或' / 2' 。 每个序列行包含30-100个A,C,G和T字符(四个DNA核苷酸,如果有人想知道的话)的string。 这些文件是成对的,因为一个文件中的第一个logging对应于第二个文件中的第一个logging,依此类推。 两个文件中的标题行应该是相同的,除了在一个文件中它们将全部具有“/ 1”siffix,在另一个文件中它们将具有“/ 2”后缀。 两个文件之间的序列行可能非常不同。 我开发的代码旨在检查(a)每个logging中的听众行遵循正确的格式,(2)两个文件中相应logging中的标题行匹配(即除/ 1和/ 2后缀)和(c)序列行只包含A,C,G和T字符。 格式正确的logging示例: > cat -n file1 | head -4 1 >SRR573705.1/1 2 ATAATCATTTGCCTCTTAAGTGGGGGCTGGTATGAATGGCAAGACGGGAATCTAGCTGTCTCTCCCTTATATCTTGAAGTTAATATTTCTGTGAAGAAGC 3 >SRR573705.2/1 4 CCACTTGTCCCAGTCTGTGCTGCCTGTACAATGGATTAGCTGAGGAAAACTGGCATCCCATGGCCTCAAACAGACGCAGCAAGTCCATGAAGCCATAATT > cat –n file2 | head -4 1 >SRR573705.1/2 2 TTTCTAACAATTGAATTAGCAACACAAACACTATTGACAAAGCTATATCTTATTTCTACTAAAGCTCGATAGGGTCTTCTCGTCCTGCGATCCCATTCCT 3 >SRR573705.2/2 4 GTATGATGGGTGTGTCAAGGAGCTCAACCATCGTGATAGGCTACCTCATGCATCGAGACAAGATCACATTTAATGAGGCATTTGACATGGTCAGGAAGCA 我的代码如下。 对于只包含几百条logging的小型testing文件来说,它效果很好。 但是,在读取包含数百万或logging的实际数据文件时,它将返回无意义的错误,例如: Inaccurate […]

在Python脚本的循环中运行Bash命令

我有我的这个脚本,它是用来修改我从GPS模块收集的一些数据。 我运行这个代码,但它说有一个语法错误,我不明白为什么有一个错误,通常我使用bash命令进行parsing,不能在Python循环中使用它? ** import serial import struct ser = serial.Serial("/dev/ttyUSB0", 4800, timeout = 1) file = open("/home/pi/GPSWIFI.csv", "w") file.write('\n') for i in range(0,5): val = ser.readline(); print >> file ,i,',',val cat /home/pi/GPSWIFI.csv | grep GPGGA | cut -c19-42 >GPSWIFIMODIFIED.csv file.close() ** 提前致谢。

如何循环通过命令的输出?

我有一个命令在一个bash脚本,它给出了以下输出 repository: docker/images tags: – 0.1-1 – 0.1-2 – 0.1-3 – 0.1-6 – 0.1-7 – 0.1-9 但是,从上面的输出中,我只需要浏览0.1-1, 0.1-2 …并运行一个不同的命令。 请让我知道这是如何实现的

Linux shell:如何迭代多个文件列表,并在文件中的每一行采取行动?

我试图遍历FILELIST扩展名的目录中的所有文件,我设法做到这一点。 但是我想读取这些文件的内容,包含其他文件的path和文件名。 这些文件,我想移动到另一个位置。 FileA.FILELIST /somepath/File1.csv /somepath/File2.csv FileB.FILELIST /somepath/File3.csv /somepath/File4.csv 我到目前为止… #!/bin/bash # Iterate all file lists for fl in /path/Inbox/*.FILELIST do #Iterate the content of the current file list while read line; do #Move it to the Archive directory… done < $fl done 提前致谢 !!

使用C中的循环创build目录和文件

我是C编程的新手,所以可能有一个简单的解决scheme,但我试图通过使用C中的循环在这些目录中创build多个目录和文件。例如, directory1中 text1.txt text2.txt Directory2 text1.txt text2.txt 我还没有实现循环,但我试图追加文件名到文件夹,以便我可以创build该文件。 我已经附上了代码,我知道错误是在第5行,我试图concatinstring。 有没有办法创build一个variables来存储目录的名称,并附加文件名到目录为了创build文件? 感谢您的帮助。 这是我迄今写的代码 char folder[] = "directory1/"; mkdir(folder, 0750); //Create text file in directory fPointer = fopen(folder + "text.txt", "w"); for(int i = 0; i < textLength; i++){ //Only return numbers from 0 – 25 int rnum = rand() % 26; //Use uppercase ascii values therefore […]

Linux命令行使用for循环和格式化结果

我怎样才能使用一个命令行提供一个特定大小的所有文件的列表,然后格式化文件的名称,MD5有和文件大小。 示例输出应该是 file1.*** MD5 value size file2.*** MD5 value size etc. 我试过以下,但它显示在一个单独的行md5 find 'directory' -size +30000c -size -50000c | while read filename do ls -l "$filename" | awk '{print $9 "\t" $5}' md5sum "$filename" | awk '{print $1}' done 它在单独的行上输出MD5 file1.*** size MD5 file2.*** size MD5

我怎样才能循环通过脚本中的一些文件?

我在这是一个初学者,并寻找答案我的问题,但没有find任何我明白如何执行。 任何帮助将不胜感激。 我有一个脚本: FILE$=`ls ~/Desktop/File_Converted/` mkdir /tmp/$FILE mv ~/Desktop/File_Converted/* /tmp/$FILE/ 所以我可以使用Applescript来说当一个文件被放到这个桌面文件夹中时,创build一个临时目录,在那里移动文件和做其他的事情。 然后我删除临时目录。 这就好了,但问题是,如果另一个文件被丢弃到File_Converted目录之前,我正在做的东西的文件,我目前正在使用它将改变$ FILEvariables的值之前,脚本有完成对当前文件的操作。 我想要做的是使用variables设置variables,例如,$ FILE1。 我检查$ FILE1是否被定义,如果没有,使用它。 如果它被定义,然后尝试$ FILE2等…最后,当我完成,我想回收variables,所以$ FILE1得到设置回到空再次下一个文件放入File_Converted文件夹可以使用它再次。 任何帮助将不胜感激。 我是新来的,所以我不知道从哪里开始。 谢谢! 担