仅当文本行不存在时,才需要向其中添加多个文本行。
用于配置文件自动化。
例如:
我有这个文件:
Option 1
Option 2
Option 3
- some suboption b
Option 4
我要添加以下整个文本(而不是作为单行),因为有可能这些行之一已经添加到另一个Option中,因此,该行将被绕过,这是不希望的行为。
请注意,如果我们一行一行地添加而不是整个文本,则-某些子选项b 行将被省略,因为它已经作为选项5
Option 5
- some suboption a
- some suboption b
- some suboption c
- some suboption d
我尝试使用sed和awk,但它不是一个完整的文本,而是每行一行。
运行所需的命令或Shell脚本后,我需要以下文件。
Option 1
Option 2
Option 3
- some suboption b
Option 4
Option 5
- some suboption a
- some suboption b
- some suboption c
- some suboption d
答案 0 :(得分:1)
您是否要将选项5块附加到文件末尾(如果尚不存在)?也许像
if ! grep -q '^Option 5$' yourfile; then
cat <<EOF >>yourfile
Option 5
- some suboption a
- some suboption b
- some suboption c
- some suboption d
EOF
fi