このおもちゃの例のようなファイルがあります。私の実際のファイルには400万行あり、そのうち約10行を削除する必要があります。
ID Data1 Data2
1 100 100
2 100 200
3 200 100
ID Data1 Data2
4 100 100
ID Data1 Data2
5 200 200
最初の行を除いて、ヘッダーのように見える行を削除したい。
最終ファイル:
ID Data1 Data2
1 100 100
2 100 200
3 200 100
4 100 100
5 200 200
どうすればこれを行うことができますか?
承認された回答:
header=$(head -n 1 input)
(printf "%sn" "$header";
grep -vFxe "$header" input
) > output
- 入力ファイルから変数にヘッダー行を取得します
- ヘッダーを印刷する
-
grep
でファイルを処理します ヘッダーに一致する行を省略します - 上記の2つのステップからの出力を出力ファイルにキャプチャします