如何使用Bash向文件中的每一行添加一个string

我有一个文件( myfile.txt )包含这些行:

 foo bar qux 

在一个bash脚本中,我想在string中添加一个值

 foo 1000 bar 1000 qux 1000 

我尝试过,但失败了。

 #!/usr/bin/bash MYVAL="1000" cat myfile.txt | xargs -I '{}' echo {} & echo $MYVAL 

只在一行上打印1000

你可以使用sed而你并不需要这样的管道:

 myval="1000" sed "s/$/ $myval/" file > file.modified 

进行就地编辑:

 sed -i "s/$/ $myval/" file 
  • s/$/ $myval/ – 在每行的末尾放置一个空格,后跟$myval的值

更多关于sed在这里: http : //grymoire.com/Unix/Sed.html

你的尝试几乎在那里:

 $ xargs -I{} echo {} 1000 < file6 boo djhg 1000 bio jdjjf 1000 dgdhd bgo 1000 ghhh 1000 baao biologico bata 1000 baa beto biologic 1000 bojo bija 1000