gpt4 book ai didi

xargs - 为什么 xargs 不替换第二个 {}

转载 作者:行者123 更新时间:2023-12-01 07:51:56 29 4
gpt4 key购买 nike

我正在使用 xargs 尝试回显文件名,后跟其内容。这是命令
find output/ -type f | xargs -I {} sh -c "echo {} ; cat {}"
但是由于某种原因,cat 之后的第二个替换不会被取代。仅适用于某些文件,因此某些文件确实可以正常工作。

需要明确的是,我不是在寻找一个让我回显文件名后跟其内容的命令,我试图理解为什么这个特定命令不起作用。

最佳答案

事实证明该命令太长,因此它使用较短的文件名而无法使用较长的文件名。来自 man xargs

-I replstr
Execute utility for each input line, replacing one or more occurrences of replstr in up to replacements (or 5 if no -R flag is specified) arguments to utility with the
entire line of input. The resulting arguments, after replacement is done, will not be allowed to grow beyond 255 bytes; this is implemented by concatenating as much
of the argument containing replstr as possible, to the constructed arguments to utility, up to 255 bytes. The 255 byte limit does not apply to arguments to utility
which do not contain replstr, and furthermore, no replacement will be done on utility itself. Implies -x.

关于xargs - 为什么 xargs 不替换第二个 {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45594404/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com