gpt4 book ai didi

linux - 使用 xargs 和 xargs -0 的 Bash 命令

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:16 37 4
gpt4 key购买 nike

我刚发现两个命令之间的区别:

echo sum.txt| xargs cat

这会输出sum.txt的内容

echo sum.txt| xargs -0 cat

这显示错误:

cat: sum.txt
: No such file or directory

我知道 -0 会将空字节视为分隔符。我认为新行以 : 开头是因为 echo 命令产生新行。并且不会产生如下输出:

cat: sum.txt: No such file or directory

但如果 echo 产生新行,为什么第一个命令可以成功?因为 xargs 默认使用空格作为分隔符。

最佳答案

我认为如果将 cat 替换为 echo -n 作为实验,发生的事情会变得更加清楚。

echo sum.txt| xargs  echo -n
echo sum.txt | xargs -0 echo -n

在第一个示例中,xargs 在换行处中断并丢弃换行符,只留下 sum.txt

在第二个例子中,xargs 在第一个 echo 输出结束时的 EOF 结束处中断,导致字符串 'sum .txt\n'

关于linux - 使用 xargs 和 xargs -0 的 Bash 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44513592/

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