
我有兩個腳本文件,例如file1
和file2
.我想獲取 的內容file1
,將字元更改a
為A
infile1
並將輸出附加到 ,file2
而不修改 的內容file1
。我正在嘗試:
sed -i ‘s/a/A/g’ file1 >> file2
但這只是將 更改a
為A
in 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
。