我正在尝试编写一个 bash 脚本,它将执行以下操作:
- 从第一个文件中读取内容(作为第一个参数)
- 从第二个文件中读取内容(作为第二个参数)
- 在第二个文件中找到具有给定模式的行(作为第三个参数)
- 在模式行之后将文本从第一个文件插入到第二个文件。
- 在屏幕上打印最终文件。
例如:
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