sedを使用して別のファイルから新しい行を追加する方法

sedを使用して別のファイルから新しい行を追加する方法

に入れるsedようにコマンドを見つけようとします。これは2つの別々のファイルです。filenamefilename1

入力は次filenameのとおりです。

Cindy   11 22 54
Chester 48 12 84

入力は次filename1のとおりです。

 Name  Class1 Class2 Class3
Lee      92     94     88
Chancy   91     85     95
Dora     99     77     96


Jefferry 84     98     90

これが私が必要とする結果(出力)です。

Name   Class1 Class2 Class3
Lee      92     94     88
Chancy   91     85     95
Dora     99     77     96
Cindy    11     22     54
Chester  48     12     84
Jefferry 84     98     90

明確にする必要がある場合は、お知らせください。デフォルトでは、CindyとChesterはDoraとJeffreyの間のどこかになければなりません。

ベストアンサー1

コマンドを使用しての行をすべて追加するには、filename次のようにします。filename1sed

sed r filename1 filename

ただし、結果はお客様の質問に記載された結果と若干異なる場合があります。つまり、次のようになります。

Name  Class1 Class2 Class3
Lee      92     94     88
Chancy   91     85     95
Dora     99     77     96
Jefferry 84     98     90
Cindy    11     22     54
Chester  48     12     84

編集する

sedこの質問に役立つ追加情報は次のとおりです。

  • filename4行目の後に以下を追加しますfilename1

    sed '4 r filename' filename1

  • 以下にfilename「Dora」で始まる行を追加するにはfilename1

    sed '/^Dora/ r filename' filename1

  • filename4行目の後に空のすべての行を追加および削除するには、次のようにしますfilename1

    sed '/^$/d;4 r filename' filename1

おすすめ記事