|
发表于 2003-11-9 13:03:09
|
显示全部楼层
最初由 battosai 发表
有问题我不明白:ask
#!/bin/ksh
sed -n 1p tmp1
set -A a $(cat -n tmp1|grep -v "[0-9][0-9][0-9][0-9] "|awk '$4==$3{print}'|awk '{print $1}')
for i in ${a}
do
cat tmp1|sed -n ${i},$((i+1))p
done
第一行取出‘表头’
由于set -A我不清楚,略过,grep -v 四个数字,先掠过第二行,先只取都是日期的那行,意思应该是符合条件的,输出$1的日期
for以后的,如果变量i在符合条件的$1里,就输出本行和下面一行,
不知有没有曲解版主的意思
Q1;set -A 是要设置a???
Q2:grep -v只有四个数字,但你cp的样本里有五个数字的,如果没有过滤,
而$2,$3的日期又一样岂不是会乱?
Q3:为何会有$4呢?
望版主给在下讲解一下:thank
1,set -A 是ksh建立数组的关键字,后面的a是数组名,在bash中可以用a=(1 2 3...)这样的形式,具体如何建立数组,请搜索一下咱们版
2,因为四个数子后面还有 一个空格
3,$4是因为用了cat -n这个选项, 他产生了行号 |
|