У меня есть сценарий оболочки (. sh), и я пытаюсь вставить содержимое файла в другой файл, используя следующие команды, но выдает ошибку "sed: -e выражение # 1, char 28: unknown опция `s '":
filename="/home/user1/filename.txt"
contents=$(du -sh /var/log/test.log)
hostname > $filename
sed -i "/test_string/ s/$/, $contents" $filename
Я не могу понять, где находится основная проблема. Может кто-нибудь помочь, пожалуйста?
Пример:
filename = /home/user1/filename.txt
hostname = server1.mydomain.com
Таким образом, содержание $filename
равно server1.mydomain.com
после выполнения hostname > $filename
.
Вывод команды du -sh /var/log/test.log
, скажем, 1.3M /var/log/test.log
Таким образом, выполнение sed -i "/mydomain.com/ s/$/, $contents" $filename
должно обновить содержимое следующего имени файла до:
server1.mydomain.com, 1.3M /var/log/test.log
Но, как я упоминал выше, выдает ошибку.