粘贴命令的就地替换

粘贴命令的就地替换

当我运行以下代码时

echo '1' > file.txt
echo '2' | paste file.txt - > file.txt

我期望file.txtbe的内容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

相关内容