Chinaunix首页 | 论坛 | 博客
  • 博客访问: 58368
  • 博文数量: 114
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-26 16:03
文章分类

全部博文(114)

文章存档

2015年(114)

我的朋友

分类:

2015-02-26 17:00:49

(此文系本人所悟所想,希望对大家有所帮助)
题目:若初始文件为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
到此我们的目的已经达到!
 
                        
阅读(193) | 评论(0) | 转发(0) |
0

上一篇:linux命令eval的用法

下一篇:bash内建变量

给主人留下些什么吧!~~