Text-Processing

是否可以在 CLI 中的文件開頭添加一些文本而不創建新文件?

  • January 7, 2018

我有兩個文件;file1包含 -

hello world
hello bangladesh  

file2包含 -

Dhaka in Bangladesh
Dhaka is capital of Bangladesh  

我想更新file2為-

hello world
hello bangladesh 
Dhaka in Bangladesh
Dhaka is capital of Bangladesh

這是由 -

cat file1 file2 >> file3
mv file3 file2  

但是,我不想創建一個新文件。我想使用sed它可能是可能的。

當然有可能。

(除非您還擔心臨時文件可能會在“幕後”創建,因為幾乎所有文本編輯器都以這種方式工作。我並不是說完全不可能避免任何可能的幕後臨時文件創建,但是此答案未涵蓋此內容。)

printf '%s\n' '0r file1' x | ex file2

這是一個符合 POSIX 的命令ex,使用 POSIX 指定的非可視前身vi.

printf此處僅用於向編輯器提供命令。什麼printf輸出是:

0r file1
x

x是保存退出。

r是“讀入指定文件的內容”。

0指定應放置讀入文本的行號。

引用自:https://unix.stackexchange.com/questions/414406