我有两个脚本文件,比如file1
和file2
。我想获取 的内容file1
,将中的字符更改a
为并将输出附加到 ,而不修改 的内容。我正在尝试:A
file1
file2
file1
sed -i ‘s/a/A/g’ file1 >> file2
但这只是a
将A
改为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
。