我在OS X 10.9.3上使用Bash作为shell,在Terminal中运行这个命令:
sudo find/-type f -ls | grep -i 'asrv-a.akamaihd.net'> stuff.txt
我希望只有包含该字符串的文件中的行才会显示在stuff.txt中。相反,各种进程,如yes, app store, audacity, vim, calculator, automater,谁知道什么被触发了。
这是怎么发生的?我需要修理东西吗?
谢谢。
试试这个命令,
sudo find / -type f -exec grep -i 'asrv-a.akamaihd.net' {} ; > stuff.txt
管道后面缺少'xargs'。posix程序xargs
从stdin中读取空格分隔的单词并将其用作参数。
但是您可能想使用递归grep: grep -Ri 'asrv-a.akamaihd.net' /
。参数-I
(忽略二进制字段)可能也会派上用场。