2番目の列(5行)、(6〜8行)、(9〜10行)にそれぞれ5、4、3を掛けたいと思います。
次のコマンドを使用してのみ数字を掛けることができます
awk '{print $1, $2*5, $3,$4}' defect > out.txt
入力する:
# "Frame" "Timestep" "WignerSeitz.interstitial_count" "WignerSeitz.vacancy_count"
1 100 1 1
2 200 1 1
3 300 1 1
4 400 1 1
5 500 1 1
6 600 1 1
7 700 2 2
8 800 2 2
9 900 2 2
10 1000 2 2
予想出力:
# "Frame" "Timestep" "WignerSeitz.interstitial_count" "WignerSeitz.vacancy_count"
1 500 1 1
2 1000 1 1
3 1500 1 1
4 2000 1 1
5 2500 1 1
6 2400 1 1
7 2800 2 2
8 3200 2 2
9 2700 2 2
10 3000 2 2
ベストアンサー1
awkでNR
=行番号変数を使用する必要があります。
awk 'NR<=5{$2=$2*5};NR>5 && NR<=8{$2=$2*4};NR>8 && NR<=10{$2=$2*3};1' file1
1 500 1 1
2 1000 1 1
3 1500 1 1
4 2000 1 1
5 2500 1 1
6 2400 1 1
7 2800 2 2
8 3200 2 2
9 2700 2 2
10 3000 2 2