创建文件abc
1,2,3,4
a,b,c,d
执行:
awk -F, '{for(i=1;i<=NF;i=i+1){a[NR,i]=$i}}END{for(j=1;j<=NF;j++){str=a[1,j];for(i=2;i<=NR;i++){str=str " " a[i,j]}print str}}' abc
结果:
1 a
2 b
3 c
4 d
等效命令1:
awk -F, '{for(i=1;i<=NF;i++){if(NR == 1){a[i]=$i;}else{a[i]=a[i]" "$i;}}}END {for(i=1;a[i]!="";i++){print a[i];}}' abc
等效命令2:
awk -F, -f ak.awk abc
需先创建ak.wak脚本
#!/bin/awk -f
{
for(i=1;i<=NF;i++){
if(NR == 1){
a[i]=$i;
}else{
a[i]=a[i]" "$i;
}
}
}
END {
for(i=1;a[i]!="";i++){
print a[i];
}
}
输出文本中大于10的行
文件内容:
a 1
b 2
c 5
d 10
f 22
g 12
h 15
i 3
k 2
输入大于10的行
cat abc |awk '{if ($2>10) print $1}'