shell 遍历】的更多相关文章

背景: 有一个源码包里面包含很多子目录和makefile,打包后的压缩包太大,需要将make生成的所有二进制文件删除然后再打包. 需求: 因此,要求在制定目录的所有递归子目录中执行make clean以清楚所有的目标文件. 代码: 写了一段简单的shell脚本,有两个功能: 1.遍历所有子目录,如果存在Makefile就执行make clean(当然也可以干更多的事): 2.列出所有子目录下大于10M(当然也可以指定其他值)的文件. 话不多说上代码: #!/bin/bash run_make()…
最近利用业余时间学习了shell 并做了个例子 实现的功能是 : 监听demo文件夹下的文件,只要新增了  .js的文件就把对应的文件名重组,拼接, 最后写入到demo.js里面. 文件结构如下 : demo.sh代码如下 while : ; do if [ -f oldfiles.log ] then #按照时间排序 并取第一行 就是最新建的文件 newfile=` ls -t | head -1 ` #查找到最新建的文件 如果不存在 就抛出错误到dev/null(无底洞) cat oldfi…
Shell查看文件的最后5行,并对每行进行正则匹配,代码如下: #!/bin/sh pattern="HeartBeat" /home/test/log/log_20150205.log | while read line do if [[ $line =~ $pattern ]] then echo "Match" else echo "No match" fi echo $line done…
遍历字符串: for line in  $Table_List do         echo $Table_List         echo $Table_List >> ${SYB_LOG}/log.txt         echo "TRUNCATE TABLE $Table_List" > ${SQLFILE}         echo "go" >> ${SQLFILE}         $SYBASE/OCS-15_0/b…
遍历目录下的所有文件 假如有一个文件夹路径为dir,遍历文件 for file in /path/dir/* do if test -f $file then echo $file arrary=(${arrary[*]} $file) fi done echo ${arrary[@]} 这段代码可以读取目录dir下面的所有的文件名,如果dir目录中还有目录且该目录下的文件名也要求返回. function get_all_file() { /* do if [ -f temp ]; then e…
UNIX下遍历日期,date 没有 -d 的参数,所以需要自己处理. 下面使用时差的方法进行计算,遍历的日期是降序的 #!/usr/bin/ksh . $HOME/.profile timelag= cycle= begindate=$ enddate=$ Usage() { print "Usage: batch_miniestore.sh 开始日期 结束日期" print " 注意:开始时间 >= 结束时间,使用递减方式遍历" print " e…
1.shell查找 .xml文件 find /home/esoon/test/external/ -type f -name '*.xml' 2.替换方法 sed -i "s/10.111.151.32:5060/10.111.151.39:5060/g"[将10.111.151.32:5060替换为10.111.151.39:5060] 3.查找并替换 find /home/esoon/test/external/ -type f -name '*.xml'|xargs sed -i…
#!/bin/sh while read line do echo $line done < /home/jms/lab/input.txt…
由于使用for来读入文件里的行时,会自动把空格和换行符作为一样分隔符,因为当行里有空格的时候,输出的结果会很乱,所以…… cat input.txt |while read line> do> echo $line> done 或者: while read line> do> echo $line> done < input.txt 再举个实际点的例子(把所有目录权限修改为755,所有文件为644): # find ./ -type f>filelist#…
for file in $1/* do if [ -f $file ] then SUFFIX=${file#*BK} PREFIX=${SUFFIX%%_*} CURRENT=`date -d -7day +%Y%m%d` if [[ $CURRENT -gt $PREFIX ]] then rm -rf $file fi fi done #!bin/sh for file in ./* do if test -f $file then echo $file 是文件 fi if test -d…