ファイル1の2行目から0.98728E-02の値を取得し、ファイル2の8行目の値1,000を入力したいと思います。ファイル2をファイル1に置き換えるには?
私のファイル1:
Genetic variance(s) for effect 2
0.98728E-02
Genetic variance(s) for effect 3
0.56818E-02
「0.98728E-02」の値を取得し、ファイル2の「1.0000」の代わりに行に入れる必要があります。
私のファイル2:
DATAFILE
renf90.dat
NUMBER_OF_TRAITS
1
NUMBER_OF_EFFECTS
9
RANDOM_RESIDUAL VALUES
1.0000
RANDOM_GROUP
2
「sed」の言語で始めましたが、どうすればいいかわかりません...
sed '23s/1.0000/ .....
私が望む最終ファイル。
DATAFILE
renf90.dat
NUMBER_OF_TRAITS
1
NUMBER_OF_EFFECTS
9
RANDOM_RESIDUAL VALUES
0.98728E-02
RANDOM_GROUP
2
PS:行の前後には定数キーワードはありません。 PS:出力ファイル(ファイル1)に応じて2つまたは3つの値を抽出する必要があります。
ベストアンサー1
動作すると確信していsed
ますが、次のものを簡単に使用できますawk
。
awk 'NR==2 { value=$1 }
FILENAME=="file2" { if (FNR==8) print value; else print }
' file1 file2 > output_file