首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

用shell命令分解“用逗号分隔的字符”解决思路

2012-04-20 
用shell命令分解“用逗号分隔的字符”给定t.txt中的内容为:group by aa,bb,cube(dd,eee),rollup(cd)我要形成

用shell命令分解“用逗号分隔的字符”
给定t.txt中的内容为:
group by aa,bb,
cube(dd,eee),
rollup(cd)


我要形成三个文件
a.txt 、b.txt c.txt


a.txt的内容为:
aa
bb

b.txt的 内容为:
dd
eee

c.txt的 内容为:
cd


如果t.txt中的内容变了的话,a.txt 、b.txt c.txt的内容也变,
如果t.txt中的内容是

group by aa,bb,dr,
cube(dd,er),
rollup(cd,de,tr)



a.txt的内容为:
aa
bb
dr

b.txt的 内容为:
dd
er

c.txt的 内容为:
cd
de
tr


关键字group by\cube\rollup的不会变(位子也不变,括号也不变),变的只是关键字后面的内容
怎么用shell实现?


[解决办法]
echo $LINE | cut -d ',' -f *(列号)
[解决办法]

Perl code
awk -F, '{sub("group by ","");sub("cube\\(","");sub("rollup\\(","");sub(")","");if(NR==1) f="a.txt";else if(NR==2)f="b.txt";else f="c.txt";for(i=1;i<=NF;i++)print $i>>f}' t.txt 

热点排行