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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Bash相关文章