假设文件夹a下有多个log文件,
1.log
2.log
3.log
……
现要求,如果某个log文件中存在Normal termination字段,则将该log文件mv到另一个文件夹b,
1.log
2.log
3.log
……
现要求,如果某个log文件中存在Normal termination字段,则将该log文件mv到另一个文件夹b,
要求批量处理,求帮忙。
方法一:
ls *.log | xargs grep -l "Normal termination" | awk '{system("mv "$0" ../b")}'
方法二:
awk '/Normal termination/{system("mv "FILENAME" ../b")}' *.log
如果一个文件有多行Normal termination, 就会重复复制。
方法三:
mv -i $(grep -Frl --include=\*.log "Normal termination" .) ../b
方法四:
cd a
find . -type f -name "*.log" -exec grep -l "Normal termination" {}\; |xargs -i mv {} ../b
方法五:
for i in a/*.log;do [ `grep 'Normal termination' $i | wc -l` -ne 0 ] && mv $i b -f done |