(此文系本人所悟所想,希望对大家有所帮助)
题目:若初始文件为a,其内容为:
123
456
789
现要得到文件cc(列与列之间的数据加一空格,其他不变),使其内容为:
1 2 3
4 5 6
7 8 9
请用shell程序实现?
步骤:
1.建立一shell脚本为:cut,其内容为:
i=1;
while(( $i <= 3 ))
do
cut -c$i a >> a$i
let i=$i+1
done
运行之后,生成三个文件为:a1,a2,a3
2.再建立一脚本名为:merge,其内容为:
for i in a[1-3]
do
echo `cat $i` >> c
done
运行之后,生成文件c,其内容为:
1 4 7
2 5 8
3 6 9
3.再建立一个脚本文件名为:reverse,其内容为:
i=1;
while(( $i <= 3 ));
do
echo `awk '{print $'$i'}' c` >> cc; //此处最外面的为倒引号,中间的为单引号
let i=$i+1;
done
运行后,得到文件cc,其内容为:
1 2 3
4 5 6
7 8 9
到此我们的目的已经达到!
阅读(1010) | 评论(0) | 转发(1) |