file1
以下を含む2つのファイルがあります。
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
活用ができないかと思いました。
ベストアンサー1
もちろん可能です。
(ほとんどすべてのテキストエディタが機能する方法なので、「内部」で一時ファイルを生成する可能性を心配しない限り、背後で一時ファイルを生成する可能性を避けることは完全に不可能であるとは言いませんが、この回答はカバーしません。)
printf '%s\n' '0r file1' x | ex file2
これはPOSIX準拠のコマンドです。ex
, POSIX 指定非視覚的先行者vi
。
printf
これはエディタにコマンドを提供するためにのみ使用されます。出力はprintf
次のとおりです
0r file1
x
x
保存してください。
r
「指定されたファイルの内容を読む」です。
0
読み取ったテキストを配置する必要がある行番号を指定します。