尝试在给定文件的每一行末尾添加一个char,它是如何完成的?

时间:2014-05-12 07:13:52

标签: bash shell

我有一个看起来像这样的文件:

sudo apt-get install rar
sudo apt-get install gimp
sudo apt-get install gnome-tweak-tool
sudo apt-get install unity-tweak-tool
sudo apt-get install pidgin

我想以某种方式在每一行的末尾添加“-y”,它是如何完成的? 感谢

3 个答案:

答案 0 :(得分:1)

假设您想在每行末尾添加-y(根据需要更改),可以使用sed来说明

$ cat file
sudo apt-get install rar
sudo apt-get install gimp
sudo apt-get install gnome-tweak-tool
sudo apt-get install unity-tweak-tool
sudo apt-get install pidgin

$ sed 's/$/ -y/' file
sudo apt-get install rar -y
sudo apt-get install gimp -y
sudo apt-get install gnome-tweak-tool -y
sudo apt-get install unity-tweak-tool -y
sudo apt-get install pidgin -y

这打印出标准输出。如果您希望在文件中进行就地更改,可以使用-i sed选项来说明

sed -i 's/$/ -y/' file  

或通过执行

将输出重定向到另一个文件
sed 's/$/ -y/' file > newfile

答案 1 :(得分:1)

sed -i 's:$: -y:' YOURFILE

会为你做的。

  1. -i进行修改"到位",因此没有创建新文件(实际上是tmp文件)
  2. s替换
  3. :定界符
  4. $行尾
  5. 参见3. point
  6. -y替换

答案 2 :(得分:1)

如果您是vi模式,可以尝试

:%s/$/text_to_be_added/g and press "Enter"

如果您是bash模式,可以尝试

sed 's/$/text_to_be_added/g' filename