csvファイルに金融価格データがあり、一般的な行は次のとおりです。
2012-06-06 18:00:00,2012-06-06 19:00:00,4,2012-06-06 14:00:00,4,1644.8005,1644.8,1631.232,1632.266,7353,TRUE
この特定の例では、列6と7の両方が同じ値を含むように、条件に応じて列7の内容を列6の内容に置き換えようとします。
これらの条件付き操作を完了する必要があるファイル行番号は、別のテキストファイル(別のプログラムOctaveの出力「line_index_file」と呼ばれる)から読み取られます。たとえば、次のようになります。
100
125
これは、上記の操作が元のデータファイルの100行と125行にのみ適用できることを意味します。
sedまたはawkを使用してこれをどのように実行できますか?
ベストアンサー1
これを試してみてください。
awk 'BEGIN{FS=OFS=","}NR==FNR{a[$0];next}FNR in a {$7=$6}1' line_index_file file.csv