加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 19:18:40 所属栏目:安全 来源:网络整理
导读:我在做某些文字处理操作,最后可以得到一个这样的文件 indiasudanjapanfrance 现在我想在上面的文件中添加一个注释,就像最终文件一样,应该是这样的 india | COUNTRYsudan | COUNTRYjapan | COUNTRYfrance | COUNTRY 像整个文件一样的评论。我该如何做? 有
我在做某些文字处理操作,最后可以得到一个这样的文件
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读