我有两个脚本文件,例如file1和file2. 我想获取 的内容file1,将字符更改a为Ainfile1并将输出附加到file2而不修改 的内容file1。我正在尝试:
sed -i \xe2\x80\x98s/a/A/g\xe2\x80\x99 file1 >> file2\nRun Code Online (Sandbox Code Playgroud)\n但这只是将 更改a为Ain file1。
只需删除-i标志:
sed 's/a/A/g' file1 >> file2
Run Code Online (Sandbox Code Playgroud)
该-i标志用于就地编辑指定文件,因此它只对file1. 从man sed:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
Run Code Online (Sandbox Code Playgroud)
file2使用时没有附加任何内容的原因-i是它>>用于附加stdout到指定的文件。但由于file1是就地编辑的-i,因此不会生成任何输出,因此不会向 附加任何内容file2。