私はスクリプト言語に初めて触れました。同じ名前の形式(output1、output2など)を持つ複数の出力ファイルがあります。
各出力ファイルでは、レコードは次のパターンに従います。
"295534
4750
4 -0.28 -0.01 -0.03 0 0 0 0 1 425.1 -1 4 0
0 0.28 -0.01 -0.025 0 0 0 0 1 425.1 -1 4 0
0 0.28 -0.01 -0.02 0 0 0 0 1 425.1 -1 4 0
....."
私が望むのは、各ファイルの2行目のフィールドを100(4750/100など)に分割することです。どうすればいいですか?
どんなアドバイスでもいただければ幸いです。
答え1
awk 'NR==2{ $0/=100 }1' output1 >output1.fixed
複数の入力ファイルに適用されます。
for file in ./output*; do
awk 'NR==2{ $0/=100 }1' "$file" >fixed_"$file"
done
特定のフィールド(複数の場合)と2番目の行番号に変更を適用します。
for file in ./output*; do
awk 'NR==2{ $1/=100 }1' "$file" >fixed_"$file"
done
$1
最初のフィールド値を表し、変更したい他のフィールドに変更します。