场景:现需要从目录的大量文件中查找出含有某关键字的文件并删除,已知相关靶向文件中有存在不符合要求的情况,比如本次确定的靶向文件中相关关键字出现次数有且仅有一次。
#!/bin/bash #进入指定目录下 cd /tmp #将含有指定关键字的文件全部筛选出备用 grep -l "baobi" *.txt >1.txt #对筛选出的结果进行遍历条件筛选 while read line #a=`grep -o "baobi" ${line}|wc -l` do #将单次循环的遍历结果进行取值 a a=`grep -o "baobi" ${line}|wc -l` #将取值进行比较要求小于2 if [ $a -lt 2 ]; then #将结果追加输出到 tmp.txt echo $line >> tmp.txt fi done < 1.txt
ps:感谢雷哥给予的指导
shell 逻辑循环遍历文件并根据关键字取出wc -l 值并做比较
于 2022-04-07 16:02:43 首次发布