仅当文件不存在时,我需要将多个文本行添加到文件中。
它用于配置文件自动化。
例如:
我有这个文件:
Option 1
Option 2
Option 3
- some suboption b
Option 4
我有下面的整个文本要附加(不是作为一行),因为这些行中的一行可能已经添加到另一个选项中了,因此,行将被忽略,这不是所需的行为。
注意,如果我们逐行添加而不是整个文本,行-一些子选项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
最佳答案
如果选项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
关于linux - 如果不退出,如何在文件中添加文本行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57277795/