对c-shell别无选择。这就是我们在这里使用的。
因此,我想解析当前目录和所有子目录,以查找 *.utv 和 egrep 形式的文件,以查找文件中的特定帐号。
我试过这样的事情:
egrep -l "ACCOUNT NO: +700 " `find . -name "*.utv" ` | more
但收到“来自``的字数过多的消息。
所以使用 xargs 因为显然我将太多的文件名传递回 egrep 命令行。
当我这样做时:
find . -name "*.utv" | xargs -n1 egrep -i -l '"ACCOUNT NO: +700 "' {} >&! /home/me/output.txt
“ps -ef”命令显示:
% ps -ef | egrep -i "myuserid"
myuserid 20791 22549 0 18:19:38 pts/20 0:00 find . -name *.utv
myuserid 20792 22549 0 18:19:38 pts/20 0:00 xargs -n1 egrep -i -l "ACCOUNT NO: +700 "
myuserid 22774 20792 1 18:21:13 pts/20 0:04 egrep -i -l "ACCOUNT NO: +700 " ./01/130104_reportfile.utv
%
但是我在“output.txt”文件中没有输出。
如果我在同一目录中手动运行 egrep 部分,我会得到一个包含帐户 700 字符串的文件名列表。
我确信这只是分组、正确引用和/或在正确的位置进行重定向的问题,但是经过大量的反复试验(并在此处搜索),我仍然没有得到任何结果。
有什么建议么?