linux中如何同时将多个连续空格和制表符转换为一个空格或者制表符

 

1、测试数据

复制代码
[root@centos7 test]# ls
test.txt
[root@centos7 test]# cat test.txt
y               j     k
j                       k h
d               j      r
[root@centos7 test]# sed -n l test.txt    ## 测试数据
y\t\tj     k$
j  \t  \t \tk h$
d\t\tj      r$
复制代码

 

2、将多个连续的空格或者制表符转换为一个制表符

复制代码
[root@centos7 test]# ls
test.txt
[root@centos7 test]# cat test.txt
y               j     k
j                       k h
d               j      r
[root@centos7 test]# sed -n l test.txt
y\t\tj     k$
j  \t  \t \tk h$
d\t\tj      r$
[root@centos7 test]# sed 's/[\t ]\+/\t/g' test.txt | sed -n l  
y\tj\tk$
j\tk\th$
d\tj\tr$
复制代码

 

3、同2,  \s 等价与[\t ]

复制代码
[root@centos7 test]# ls
test.txt
[root@centos7 test]# cat test.txt
y               j     k
j                       k h
d               j      r
[root@centos7 test]# sed  -n l test.txt
y\t\tj     k$
j  \t  \t \tk h$
d\t\tj      r$
[root@centos7 test]# sed 's/\s\+/\t/g' test.txt | sed -n l   ## 转换为制表符
y\tj\tk$
j\tk\th$
d\tj\tr$
[root@centos7 test]# sed 's/\s\+/ /g' test.txt | sed -n l    ## 转换为空格
y j k$
j k h$
d j r$
复制代码

 

posted @   小鲨鱼2018  阅读(506)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示