我非常感谢您就以下问题提出的任何意见。如果这篇文章中有太多问题,请提前道歉。
我有3列(制表符分隔)和n行的文本文件。我想:
在一个脚本中(如果可能)。
或者来自具有以下格式的文件:
1 2 3
1 2 3
1 2 3
1 2 3
.....
我想得到:
0 0 0 2 2 2 2 ...
0 0 0 -1 -1 -1 -1...
0 0 0 3 3 3 3 ...
切换行&列:
awk '
{
for (i=1; i<=NF; i++) {
a[NR,i] = $i
}
}
NF>p { p = NF }
END {
for(j=1; j<=p; j++) {
str=a[1,j]
for(i=2; i<=NR; i++){
str=str" "a[i,j];
}
print str
}
}' "$WD"/grads > "$WD"/vect
提前感谢您的帮助
最好,
[R
答案 0 :(得分:1)
您可以做几件事,例如:
awk '
NF>n{
n=NF
}
{
A[1,NR]=-$1
for(i=2; i<=NF; i++) A[i,NR]=$i
}
END{
for(i=2; i<=n; i=(i==2)?1:(i==1)?3:i+1) {
for(j=1; j<=NR; j++) $j=A[i,j]
print 0,0,0,$0
}
}
' file