我正在运行这样的命令行:
filename_listing_command | xargs -0 action_command
Run Code Online (Sandbox Code Playgroud)
在哪里filename_listing_command
使用空字节来分隔文件 - 这就是xargs -0
想要消费的东西.
问题是我想过滤掉一些文件.像这样的东西:
filename_listing_command | sed -e '/\.py/!d' | xargs ac
Run Code Online (Sandbox Code Playgroud)
但我需要用xargs -0
.
如何将sed想要的行分隔符从换行符更改为NUL?
通过管道输送grep
:
filename_listing_command | grep -vzZ '\.py$' | filename_listing_command
Run Code Online (Sandbox Code Playgroud)
所述-z
输入接受空终止子和所述-Z
输出产生空终止子和所述-v
反转的匹配(排除)。
编辑:
如果您喜欢使用,请尝试以下方法sed
:
filename_listing_command | sed 's/[^\x0]*\.py\x0//g' | filename_listing_command
Run Code Online (Sandbox Code Playgroud)