LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: ioling

如何进行文本编辑和整理[已解决]

[复制链接]
发表于 2004-1-16 12:40:48 | 显示全部楼层
最初由 idkey 发表
对你的规律不太明白,是类似这样吗?
[PHP]
0$ cat a
1aaabb
1cccccc
1ddeeeee
1
1fffff
1gg
1aaabb
1cccccc
1ddeeeee
1
1fffff
1gg
0$ cat a.sed
#!/bin/sed -f
{
N; N; N; N; N
s/\n/,/g
s/,1,/, ,/g
s/,1$/, /g
s/1,$/ ,/g
s/^1//
s/,1/,/g
}
0$ sed -f a.sed a
aaabb,cccccc,ddeeeee, ,fffff,gg
aaabb,cccccc,ddeeeee, ,fffff,gg
[/PHP]

跟楼主的要求有出入,
需要整理成为如下
aaa,bb,cccccc, ,fffff,gg
aaa,bb,cccccc, ,fffff,gg
发表于 2004-1-16 12:50:45 | 显示全部楼层
最初由 ioling 发表
针对性太强,规律一样,但每条记录不一样,考虑用c,给一个c吧,谢谢!!

建议你把你的思路说出来,这样便于讨论!
发表于 2004-1-16 13:15:56 | 显示全部楼层
为什么ab被拆开成两行,而de则消失了?我这里不太明白到底“规律”是什么。
发表于 2004-1-16 13:24:39 | 显示全部楼层
最初由 idkey 发表
为什么ab被拆开成两行,而de则消失了?我这里不太明白到底“规律”是什么。

嘿嘿~~,所以嘛~~,我才用for语句把a b c  ...当索引的 :confused:
发表于 2004-1-18 02:01:44 | 显示全部楼层
最初由 javalee 发表
建议你把你的思路说出来,这样便于讨论!


我把我的脚本改了改,
  1. for str in a b c d e f g;do
  2.         sed -n "s/[^${str}]*\([${str}]\{2,\}\)*/\1/gp" filename
  3. done|sed '/^$/d'>tmp$$
  4. sed -n '1,$p;n' tmp$$|tr '\n' ','|rev|cut -c2-|rev
  5. sed -n '1,$n;p' tmp$$|tr '\n' ','|rev|cut -c2-|rev
  6. rm tmp$$
复制代码
aaa,bb,cccccc,dd,eeeee,fffff,gg
aaa,bb,cccccc,dd,eeeee,fffff,gg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表