【发布时间】:2018-11-13 06:33:48
【问题描述】:
问题
(1) 给定一个字符串,我使用sed 将空格替换为$'\n':
echo "one two" | sed 's/ /$'"'"'\\n'"'"'/g'
这个输出:
# one$'\n'two
(2) 请注意,回显 (1) 的输出:
echo one$'\n'two
结果:
# one
# two
(3) 我以另一种方式回显 (1) 的输出,将 (1) 的输出通过管道传输到 xargs echo:
echo "one two" | sed 's/ /$'"'"'\\n'"'"'/g' | xargs echo
但我没有得到与 (2) 相同的输出:
# one$\ntwo
问题
格式化包含$'\n'的字符串的输入时xargs会做什么?
为什么回显带有$'\n' 的字符串与在同一字符串上使用xargs echo 不同?
【问题讨论】:
标签: bash pipe echo newline xargs