Text-Processing
是否可以在 CLI 中的文件開頭添加一些文本而不創建新文件?
我有兩個文件;
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
指定應放置讀入文本的行號。