Дано:
$ cat file
line 1
line 2
line 3
И:
$ echo "$add_this"
# Gateway
10.0.0.1 schoolhost it20
# Addresses for the Windows
10.0.0.240 host1 it21
10.0.0.241 host2 it22
Вы можете сделать несколько вещей, чтобы добавить эти текстовые элементы вместе.
Первое - использовать cat
(напоминая имя происходит от con cat tenate):
$ cat file <(echo "$add_this")
line 1
line 2
line 3
# Gateway
10.0.0.1 schoolhost it20
# Addresses for the Windows
10.0.0.240 host1 it21
10.0.0.241 host2 it22
Или вы можете использовать awk
таким же образом:
$ awk '1' file <(echo "$add_this")
# same output
Или,пустая sed
:
$ sed -e '' file <(echo "$add_this")
# same output
Или с printf
:
$ printf "%s%s\n" "$(cat file)" "$add_this"
# same output
Суть в том, что вы добавляете только две части текста вместе, и в Unix есть много способовсделай это.
Затем перенаправьте вывод любого из них (вероятно, cat
) во временный файл, затем переместите временный файл в исходный файл:
$ cat file <(echo "$add_this") >/tmp/tmp_file && mv /tmp/tmp_file file
$ cat file
line 1
line 2
line 3
# Gateway
10.0.0.1 schoolhost it20
# Addresses for the Windows
10.0.0.240 host1 it21
10.0.0.241 host2 it22