首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xargs和xargs -0的Bash命令

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

Stack Overflow用户
提问于 2017-06-13 14:14:08
回答 1查看 350关注 0票数 0

我只是发现了两个命令之间的区别:

代码语言:javascript
复制
echo sum.txt| xargs cat

这将输出sum.txt的内容

代码语言:javascript
复制
echo sum.txt| xargs -0 cat

下面显示错误:

代码语言:javascript
复制
cat: sum.txt
: No such file or directory

我知道-0会把空字节当作分隔符。我认为新行的开头是:,因为echo命令会生成新的行。并且不会产生如下输出:

代码语言:javascript
复制
cat: sum.txt: No such file or directory

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

EN

回答 1

Stack Overflow用户

发布于 2017-06-13 14:22:35

我认为,如果您将cat替换为echo -n作为一个实验,将会发生什么事情会变得更加清晰。

代码语言:javascript
复制
echo sum.txt| xargs  echo -n
echo sum.txt | xargs -0 echo -n

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

在第二个示例中,xargs在EOF的结尾处第一个echo的输出结尾处换行,从而产生字符串'sum.txt\n'

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44513592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档