免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4193 | 回复: 9
打印 上一主题 下一主题

我也来问个tab空格替换问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-18 00:40 |只看该作者 |倒序浏览
我也来问个tab空格替换问题

假设有个文件里面很多行,每行有很多tab和空格。现在要求每行:
1 替换后第一个【元素】前,没有任何tab和空格。
2 替换后末一个【元素】后,没有任何tab和空格。
3 替换后每个【元素】之间,假如有任何空格或tab都被换成4个tab。
4 由上面3条可知,替换后,文件中没有任何空格了。


---------------------例子------------------------
设元素为aaa,bbb,ccc,ddd。
替换前,替换后的内容都用方括号括起来了。



替换前:
[空格]aaa[空格空格tab空格]bbb[空格]ccc[tabtab空格]ddd[tab]

替换后:
aaa[tabtabtabtab]bbb[tabtabtabtab]ccc[tabtabtabtab]ddd

论坛徽章:
0
2 [报告]
发表于 2010-01-18 08:02 |只看该作者
  1. sed 's/^[ \t]*//;s/[ \t]*$//;:a s/\([^ \t]\+\)[ \t]\+/\1####/;ta;s/####/\t\t\t\t/g' file
复制代码

论坛徽章:
0
3 [报告]
发表于 2010-01-18 09:07 |只看该作者

回复 #1 aleng 的帖子

你所谓的元素大致形式是什么?它们中有包含空格或者tab么?

论坛徽章:
0
4 [报告]
发表于 2010-01-18 09:23 |只看该作者

回复 #1 aleng 的帖子

sed 's/^[ \t]*//;s/[ \t]*$//;s/[ \t]\+/####/g;s/#/\t/g' test1

论坛徽章:
0
5 [报告]
发表于 2010-01-18 12:03 |只看该作者

  1. sed 's/^[ \t]*//;s/[ \t]*$//;s/[ \t]\+/\t/g;'  urfile   | cat -A
复制代码

论坛徽章:
0
6 [报告]
发表于 2010-01-18 14:16 |只看该作者
原帖由 wqfhenanxc 于 2010-1-18 09:07 发表
你所谓的元素大致形式是什么?它们中有包含空格或者tab么?

元素就是数字,字母,汉字,特殊符号等,没有空格或tab。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2010-01-18 14:31 |只看该作者
awk 直接指定OFS应该就可以了吧?

论坛徽章:
0
8 [报告]
发表于 2010-01-18 14:43 |只看该作者
sed 's/^[ \t]*//;s/[ \t]*$//;s/[ \t]\+/####/g;s/#/\t/g' test1

这里面的这段  s/[ \t]\+/####/g 应该怎么理解?

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
9 [报告]
发表于 2010-01-18 16:21 |只看该作者

回复 #8 bbgg1983 的帖子

把一个或多个连续的tab替换成####

论坛徽章:
0
10 [报告]
发表于 2010-01-18 22:01 |只看该作者
结贴啦,2楼4楼都好用,5楼每个元素之间只有一个tab,也算好用。
多谢大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP