将xargs格式化为grep格式

问题描述 投票:0回答:1

我有一个脚本正在尝试使用xargs优化。当前版本使用find-exec来调用命令:

find -type f -iname "*.mp4" -print0 -printf '\n' -exec getfattr -d --absolute-names {} \;

之后,我可以使用类似的方法将管道传送到grep:>

grep -z -P user\.md5\=\"$input_search_hash\"

过滤结果,同时将整个输出保持为-z

我需要每个文件从getfattr返回的整个输出都被“保留”,因为我需要具有匹配扩展属性的文件名,然后将该文件名传递给sed以提取它。在某些情况下,如果我需要在扩展属性中搜索具有multiple

匹配项的文件,则会依次使用多个grep命令。问题是输出:

find -type f -iname "*.mp4" -print0 | xargs -0 getfattr -d --absolute-names

格式没有使grep以这种方式过滤。 does

-exec方法一起使用。我是否可以将附加选项传递给xargs或管道中的一些其他命令,这些命令将格式化输出以使grep正确复制-exec的行为?我猜想像grep方法中-printf '\n'所做的那样,在馈入-exec之前需要某种换行符。我只需要使用getfattr来“搜索”扩展属性,而根本不需要grep输出,但是它无法通过提供xattr名称和值来做到这一点。

我有一个脚本正在尝试使用xargs优化。当前版本使用带有-exec的find来调用命令:find -type f -iname“ * .mp4” -print0 -printf'\ n'-exec getfattr -d --absolute -...

linux bash grep xargs xattr
1个回答
0
投票

[xargs vs find -exec] >>

对我来说,您似乎想使用xargs而不是find -exec {} \;来加快速度。

© www.soinside.com 2019 - 2024. All rights reserved.