博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell替换和去掉换行符
阅读量:6174 次
发布时间:2019-06-21

本文共 1130 字,大约阅读时间需要 3 分钟。

用shell处理文件的时候我们常常需要去掉或者加上换行符,name问题就来了怎么才能快速的替换呢?

我们有这样一个文件

1
2
[root@hxy working]
# cat 1
GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497

我们需要把逗号去掉,换成换行符可以这样做

1
2
3
4
5
[root@hxy working]
# cat 1|sed 's/,/\n/g'
GD200A16C013493
GD200A16C013494
GD200A16C013495
GD200A16C013497

但是我们反过来了呢?就是把下面的换行替换为用逗号分开,sed反过来用就不行了,

1
2
3
4
5
[root@hxy working]
# cat 1|sed 's/,/\n/g'|sed 's/\n/,/g'
GD200A16C013493
GD200A16C013494
GD200A16C013495
GD200A16C013497

我们可用awk来做用也行,如下:

1
2
cat 
1|
sed 
's/,/\n/g'
|
awk 
'{
{printf"%s,",$0}}'
GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497

这里也可以用tr来处理,但是te来处理的话还需要手动删除最后一个逗号如下:

1
2
3
4
5
6
[root@hxy working]# cat 1|sed 's/,/\n/g'|tr -s '\n' ','
GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497,[root@hxy working]#
[root@hxy working]# cat 1|sed 's/,/\n/g'|tr -t '\n' ','
GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497,[root@hxy working]#
[root@hxy working]# cat 1|sed 's/,/\n/g'|tr '\n' ','
GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497,[root@hxy working]#
本文转自  Forande  51CTO博客,原文链接:http://blog.51cto.com/853056088/1952430

转载地址:http://zzhba.baihongyu.com/

你可能感兴趣的文章
伪类和伪元素
查看>>
jquery
查看>>
Day 3:模块结构和布局
查看>>
PWP+Nginx 集成环境下载
查看>>
【整理】RabbitMQ publish方法中的immediate和mandatory属性
查看>>
JAVA CAS原理深度分析
查看>>
权限模型
查看>>
如何配置 Log4J 只保留最近七天的日志文件
查看>>
Python 类与元类的深度挖掘 II
查看>>
prometheus收集springboot指标
查看>>
global gtags的配置
查看>>
iOS开发 — Quartz 2D知识点应用 (制作了一个Demo,源代码)
查看>>
Creating a Windows Image on OpenStack
查看>>
jquery图片自动缩放
查看>>
ie6 失真问题
查看>>
Regular Expression
查看>>
你到了第几层?图片式标题、按钮与隐藏文本
查看>>
大话重构连载14:我们是这样自动化测试的
查看>>
我的友情链接
查看>>
iis6 php安装 (一)
查看>>