同じ列名を持つ100を超えるタブ区切りファイルがあります。私はバッチ内のすべてのファイルで列名の1つ(列2)を 'OLD'から 'NEW'に変更したいと思います。残りの内容はファイル内で同じです。
誰でもawkでやる方法を教えてもらえますか?複数のタブ区切りファイルの列ヘッダーを置き換えます
例えば、
INFO OLD CONF DB COSMIC
NA NA 9 . 53
NA NA 10 . 192
NA NA 8 . 41
NA NA 8 . 87
NA NA 8 . 94
NA NA 8 . 92
NA NA 10 . 192
NA NA 10 . 47
NA NA 10 . 87
FILE.TXT私は 'NEW' から 'OLD' を変更したい:
INFO NEW CONF DB COSMIC
NA NA 9 . 53
NA NA 10 . 192
NA NA 8 . 41
NA NA 8 . 87
NA NA 8 . 94
NA NA 8 . 92
NA NA 10 . 192
NA NA 10 . 47
NA NA 10 . 87
私はここに以下のスクリプト
#!/bin/bash
for file in 'ls PATH';
do
awk 'NR==1 && $2=="OLD"{$2=="NEW"}1' $file > temp && mv temp $file
done
の例では、より多くの答えを得るのに役立ちますすることができループですべてを行うことができます。 – karakfa
デリミタとは何ですか?任意の空白、タブのみ? – karakfa
3つの列「名前」「新しい」「値」を含むタブ区切りファイルです。ここではサンプルデータを表形式で提供することができません。あなたはそれをする方法を提案できますか? – panbar