我想更改一个远程文件。为此,我使用sed命令。 我的文件包含以下内容:
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX=/ankur
GRUB_DISABLE_RECOVERY="true"
所以我想在这个文件中追加。
我已经尝试过以下命令:
sed -i 's+^GRUB_CMDLINE_LINUX.*+GRUB_CMDLINE_LINUX=/sharma+g' '/etc/default/grub.bak'
但是它更改为GRUB_CMDLINE_LINUX的值。但我想将sharma附加到它的初始值。
因此sed命令应为上述文件提供以下输出。
预期输出:
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX=/ankur sharma
GRUB_DISABLE_RECOVERY="true"
答案 0 :(得分:4)
能否请您尝试遵循简单的sed
一次。如果要将输出放置到Input_file本身,请使用-i
选项。
sed '/GRUB_CMDLINE_LINUX/s/$/ sharma/' Input_file