分隔 xargs 的 grep 输出
delimit grep output from xargs
有没有办法用 xargs 的每个 arg 来分隔 运行ning grep 的输出?
我正在尝试 运行 这个:
echo 'pattern1\npattern2' | xargs -I{} grep -r '{}' *
对于上下文,我正在尝试测试目录中每个模式的存在;像这样:
#pattern exit_status
pattern1 0
pattern2 1
我并不完全需要分隔符,但想要一个分隔符,因为它可以让我按模式计数。如果有更好的方法来做到这一点,我也会对此持开放态度!
你可以运行像这样:
printf '%s\n' pattern1 pattern2 | xargs -I{} sh -c 'grep -rq ""; echo " $?"' sh {}
这将 echo
每个模式及其递归 grep
命令的退出状态。
有没有办法用 xargs 的每个 arg 来分隔 运行ning grep 的输出? 我正在尝试 运行 这个:
echo 'pattern1\npattern2' | xargs -I{} grep -r '{}' *
对于上下文,我正在尝试测试目录中每个模式的存在;像这样:
#pattern exit_status
pattern1 0
pattern2 1
我并不完全需要分隔符,但想要一个分隔符,因为它可以让我按模式计数。如果有更好的方法来做到这一点,我也会对此持开放态度!
你可以运行像这样:
printf '%s\n' pattern1 pattern2 | xargs -I{} sh -c 'grep -rq ""; echo " $?"' sh {}
这将 echo
每个模式及其递归 grep
命令的退出状态。