次のことを行うbashスクリプトを作成しようとしています。
- 最初のファイルからコンテンツを読み取ります (最初の引数として)
- 2 番目のファイルから内容を読み取ります (2 番目の引数として)
- (3 番目の引数として) 指定されたパターンで 2 番目のファイルの行を検索します
- パターンの行の後に、最初のファイルから 2 番目のファイルにテキストを挿入します。
- 最終ファイルを画面に出力します。
例えば:
first_file.txt:
111111
1111
11
1
second_file.txt:
122221
2222
22
2
パターン:
2222
出力:
122221
111111
1111
11
1
2222
111111
1111
11
1
22
2
BASH でこの機能を実現するには、何を使用すればよいですか?
コードを書きましたが、正しく動作しません (なぜですか?):
#!/bin/bash
first_filename="$1"
second_filename="$2"
pattern="$3"
while read -r line
do
if [[ $line=˜$pattern ]]; then
while read -r line2
do
echo $line2
done < $second_filename
fi
echo $line
done < $first_filename