当前位置: 技术问答>linux和unix
求助!关于文本转换,现在被这个问题搞得焦头烂额的,请求大家帮助
来源: 互联网 发布时间:2016-02-02
本文导语: 有以下两个文本文件a.txt和b.txt,内容如下: a.txt: 1,123456,aa1,aa1, , 2,123456,aa2,aa2, , 3,123456,aa3,aa3, , 4,123456,aa4,aa4, , b.txt: 1,123456,bb1,bb1, 1,123456,bb2,bb2, 1,123456,bb3,bb3, 1,123456,bb4,bb4, 现在要求在不用awk,sed...
有以下两个文本文件a.txt和b.txt,内容如下:
a.txt:
1,123456,aa1,aa1, ,
2,123456,aa2,aa2, ,
3,123456,aa3,aa3, ,
4,123456,aa4,aa4, ,
b.txt:
1,123456,bb1,bb1,
1,123456,bb2,bb2,
1,123456,bb3,bb3,
1,123456,bb4,bb4,
现在要求在不用awk,sed,for等命令和语句的情况下,通过shell实现把a.txt每行最后的","去掉生成aa.txt,把b.txt每行的最后加上4个"#"生成bb.txt,转换后得到的aa.txt和bb.txt内容如下:
aa.txt:
1,123456,aa1,aa1,
2,123456,aa2,aa2,
3,123456,aa3,aa3,
4,123456,aa4,aa4,
bb.txt:
1,123456,bb1,bb1,####
1,123456,bb2,bb2,####
1,123456,bb3,bb3,####
1,123456,bb4,bb4,####
请问如何实现这个功能啊?如果能用awk,sed很容易实现,但是现在不准用,而且for也不能用,在此请大家帮我看一下,应该如何实现这个功能,谢谢了!
a.txt:
1,123456,aa1,aa1, ,
2,123456,aa2,aa2, ,
3,123456,aa3,aa3, ,
4,123456,aa4,aa4, ,
b.txt:
1,123456,bb1,bb1,
1,123456,bb2,bb2,
1,123456,bb3,bb3,
1,123456,bb4,bb4,
现在要求在不用awk,sed,for等命令和语句的情况下,通过shell实现把a.txt每行最后的","去掉生成aa.txt,把b.txt每行的最后加上4个"#"生成bb.txt,转换后得到的aa.txt和bb.txt内容如下:
aa.txt:
1,123456,aa1,aa1,
2,123456,aa2,aa2,
3,123456,aa3,aa3,
4,123456,aa4,aa4,
bb.txt:
1,123456,bb1,bb1,####
1,123456,bb2,bb2,####
1,123456,bb3,bb3,####
1,123456,bb4,bb4,####
请问如何实现这个功能啊?如果能用awk,sed很容易实现,但是现在不准用,而且for也不能用,在此请大家帮我看一下,应该如何实现这个功能,谢谢了!
|
$ cat a.txt
1,123456,aa1,aa1, ,
2,123456,aa2,aa2, ,
3,123456,aa3,aa3, ,
4,123456,aa4,aa4, ,
$ cut -c 1-17 a.txt
1,123456,aa1,aa1,
2,123456,aa2,aa2,
3,123456,aa3,aa3,
4,123456,aa4,aa4,
$ cat b.txt
1,123456,bb1,bb1,
1,123456,bb2,bb2,
1,123456,bb3,bb3,
1,123456,bb4,bb4,
$ echo -e "####n####n####n####" | paste -d "" b.txt -
1,123456,bb1,bb1,####
1,123456,bb2,bb2,####
1,123456,bb3,bb3,####
1,123456,bb4,bb4,####
1,123456,aa1,aa1, ,
2,123456,aa2,aa2, ,
3,123456,aa3,aa3, ,
4,123456,aa4,aa4, ,
$ cut -c 1-17 a.txt
1,123456,aa1,aa1,
2,123456,aa2,aa2,
3,123456,aa3,aa3,
4,123456,aa4,aa4,
$ cat b.txt
1,123456,bb1,bb1,
1,123456,bb2,bb2,
1,123456,bb3,bb3,
1,123456,bb4,bb4,
$ echo -e "####n####n####n####" | paste -d "" b.txt -
1,123456,bb1,bb1,####
1,123456,bb2,bb2,####
1,123456,bb3,bb3,####
1,123456,bb4,bb4,####