共通パターンで2つのファイルのテキストを交互に挿入する方法

共通パターンで2つのファイルのテキストを交互に挿入する方法

ファイルが2つあります。

最初のファイルを入力してください...

1 How many steps are in programming?
A.5
B.4
C.3
D.9
Ans.

2 How many stairs in room?
A.6
B.10
C.15
D.23
Ans.

2番目のファイルを入力してください...

1. Who is outside of the room ?
A.john
B.Mary
C.Scot
D.Fery
Ans.

2. Which day is today ?
A.Mon
B.Wed
C.Friday
D.Sunday
Ans.

次の出力が必要です...

1 How many steps are in programming?
A.5
B.4
C.3
D.9
Ans.

1. Who is outside of the room ?
A.john
B.Mary
C.Scot
D.Fery
Ans.

2 How many stairs in room?
A.6
B.10
C.15
D.23
Ans.

2. Which day is today ?
A.Mon
B.Wed
C.Friday
D.Sunday
Ans.

命令を使用しています...

sed -e '/Ans./{r file2' -e:n -e 'n;bn' -e \} file1

しかし、2の2番目のo / pは反対です。

1 How many steps are in programming?
A.5
B.4
C.3
D.9
Ans.

1. Who is outside of the room ?
A.john
B.Mary
C.Scot
D.Fery
Ans.

**2. Which day is today ?**
A.Mon
B.Wed
C.Friday
D.Sunday
Ans.

**2 How many stairs in room?**
A.6
B.10
C.15
D.23

ベストアンサー1

awk短絡モードでこれを使用すると、非常に近づくことができますgetline(レコード区切り文字を完全に保存しません。変数を使用してより良い操作をするGNU awkを使用できますRT)。

$ awk 'BEGIN{RS=""; ORS="\n\n"} {print; if( (getline < "second") > -1) print}' first
1 How many steps are in programming?
A.5
B.4
C.3
D.9
Ans.

1. Who is outside of the room ?
A.john
B.Mary
C.Scot
D.Fery
Ans.

2 How many stairs in room?
A.6
B.10
C.15
D.23
Ans.

2. Which day is today ?
A.Mon
B.Wed
C.Friday
D.Sunday
Ans.

おすすめ記事