shell – 如何在unix中的每一行的末尾添加文本

我在做某些文字处理操作,最后可以得到一个这样的文件
india
sudan
japan
france

现在我想在上面的文件添加一个注释,就像最终文件一样,应该是这样的

india | COUNTRY
sudan | COUNTRY
japan | COUNTRY
france | COUNTRY

像整个文件一样的评论。我该如何做?

有很多方法

sed:用给定的文本替换$(行尾)。

$ sed 's/$/ | COUNTRY/' file
india | COUNTRY
sudan | COUNTRY
japan | COUNTRY
france | COUNTRY

awk:打印行加上给定的文本。

$ awk '{print $0,"| COUNTRY"}' file
india | COUNTRY
sudan | COUNTRY
japan | COUNTRY
france | COUNTRY

最后,在纯bash中:逐行阅读并将其与给定的文本一起打印。请注意,如Why is using a shell loop to process text considered bad practice?所述,这是不鼓励的

$ while IFS= read -r line; do echo "$line | COUNTRY"; done < file
india | COUNTRY
sudan | COUNTRY
japan | COUNTRY
france | COUNTRY

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...