如何在 file.txt 中添加第三行:
line 1
line 2
line 4
Run Code Online (Sandbox Code Playgroud)
sed 可以做,sed '3iline 3' file.txt但我想输出到同一个文件。我尝试过sed '3iline 3' file.txt >> file.txt哪个不起作用。它确实添加了该行,但它重复了 file.txt,我得到了这个:
line 1
line 2
line 4
line 1
line 2
line 3
line 4
Run Code Online (Sandbox Code Playgroud)
执行此操作的唯一方法是写入第二个文件,然后替换原始文件。您只能附加到任意文件;您不能插入其中之一。
t=$(mktemp)
sed '3iline 3' file.txt > "$t" && mv "$t" file.txt
Run Code Online (Sandbox Code Playgroud)
如果您的版本sed支持它,您可以使用该-i选项来自动处理临时文件。
sed -i '3iline 3' file.txt # GNU
sed -i "" '3iline 3 ' file.txt # BSD sed requires an argument for -i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2743 次 |
| 最近记录: |