新しいファイルを作成しなくても、CLIのファイルの先頭にいくつかのテキストを追加できますか?

新しいファイルを作成しなくても、CLIのファイルの先頭にいくつかのテキストを追加できますか?

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読み取ったテキストを配置する必要がある行番号を指定します。

おすすめ記事