开发者社区> 问答> 正文

用逗号和空格替换换行符以产生1行输出

样本文件

[user@linux ~]$ cat ip.txt
10.1.1.1
10.1.1.2
10.1.1.3
[user@linux ~]$

第一次尝试后有1个空格 ,

[user@linux ~]$ tr '\n' ', ' < ip.txt
10.1.1.1,10.1.1.2,10.1.1.3,[user@linux ~]$

第二次尝试,前后有1个空格 ,

[user@linux ~]$ tr '\n' ' , ' < ip.txt
10.1.1.1 10.1.1.2 10.1.1.3 [user@linux ~]$
[user@linux ~]$

第三次尝试有1个空格,然后,还会产生与第二次尝试相同的输出

[user@linux ~]$ tr '\n' ' ,' < ip.txt
10.1.1.1 10.1.1.2 10.1.1.3 [user@linux ~]$
[user@linux ~]$

更新资料

sed 不会改变任何东西

[user@linux ~]$ sed 's/\n/, /g' ip.txt
10.1.1.1
10.1.1.2
10.1.1.3
[user@linux ~]$

虽然perl输出与尝试2和3相似

[user@linux ~]$ perl -pe 's/\n/ /g' ip.txt
10.1.1.1 10.1.1.2 10.1.1.3 [user@linux ~]$

期望的输出

,像这样在一行中排成1个空格...

10.1.1.1, 10.1.1.2, 10.1.1.3

展开
收起
祖安文状元 2020-01-06 15:58:02 528 0
1 条回答
写回答
取消 提交回答
  • tr只能用于替换一个字符。

    您不能用两个字符代替。

    您可以使用sed或awk搜索

    2020-01-06 15:58:11
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载