当我运行以下代码时
echo '1' > file.txt
echo '2' | paste file.txt - > file.txt
我期望file.txt
be的内容1 2
,因为paste
顾名思义,该命令应该将两个字符串简单地并排放置。然而,也只是2
。
你们中的任何人都可以指出我需要运行其他诊断程序来确定问题吗?
答案1
file.txt
命令末尾的重定向会在有机会读取paste
文件之前截断文件。paste
尝试
echo 2 | paste file.txt - > file2.txt
或者如果你有sponge
已安装
echo 2 | paste file.txt - | sponge file.txt