ls -ltr|grep 'Mar 4'| awk '{print $9 }'|zcat -fq |grep 12345
我想查找在特定日期修改的所有文件然后zcat它们并在fiels中搜索数字字符串。
上述方法不起作用,因为它在文件名中搜索字符串而不是文件本身。
任何帮助?
中号
答案 0 :(得分:2)
使用xargs
在awk:
ls -ltr | grep 'Mar 4' | awk '{print 9}' | xargs zcat -fq | grep 12345
或者,我想,从awk本身运行其余的管道。
答案 1 :(得分:1)
请尝试使用find
。和/或xargs
。
答案 2 :(得分:1)
如果我正确地读取了你的命令行,它的zcat试图解压缩文件名而不是它们的内容。使用xargs来解决这个问题:
ls -ltr|grep 'Mar 4'| awk '{print $9 }'|xargs zcat -fq |grep 12345
答案 3 :(得分:0)
除了有关使用xargs
或find
的正确答案之外,您还可以通过消除zcat
并管道到zgrep
或{{grep -Z
来摆脱额外的流程1}}而不是。