将 sed 的输出附加到文件

将 sed 的输出附加到文件

我有两个脚本文件,比如file1file2。我想获取 的内容file1,将中的字符更改a为并将输出附加到 ,而不修改 的内容。我正在尝试:Afile1file2file1

sed -i ‘s/a/A/g’ file1 >> file2

但这只是aA改为file1

答案1

只需删除-i标志:

sed 's/a/A/g' file1 >> file2

-i标志用于就地编辑指定的文件,因此它就是这样做的file1。从man sed

-i[SUFFIX], --in-place[=SUFFIX]

       edit files in place (makes backup if SUFFIX supplied)

file2使用 时不会向 追加任何内容,-i因为 被>>用来追加stdout到指定文件。但由于file1被原地编辑-i,因此不会生成任何输出,因此 不会向 追加任何内容file2

相关内容