我打字
grep -r 'something' .
并且 grep 找到了很多匹配项。
现在我想打开找到的所有文件。
我试试
grep -r 'something' . | xargs vim
什么都没发生。
也许这个?! :)
grep -rl 'something' . | xargs vim
或
vim "$(grep -rl 'something' .)"
-l, --files-with-matches
抑制正常输出;而是打印通常打印输出的每个输入文件的名称。扫描每个输入文件在第一次匹配时停止。
假设您的文件中没有特殊字符(如换行符),试试这个:
grep -lr 'something' . | xargs bash -c 'vim "$@" < /dev/tty' _