行が多いファイルがあります。各行はパターンで始まり、gi_[0-9]
タブと単語のリストが順番に続き、すべてセミコロンで区切られます。最後の8単語だけ維持したいです(最後の部分に2単語があるので7部分)。
これは例です入力する文書:
gi_1\tDog;Pink;Blue;Beige;Yellow;Orange;Red;Green irish
gi_2\tPork;Black;White;Beige;Brown;Cyan;Purple;Red pepper
これ対応する出力しなければならない:
gi_1\tPink;Blue;Beige;Yellow;Orange;Red;Green irish
gi_2\tBlack;White;Beige;Brown;Cyan;Purple;Red pepper
ノート:タブ文字を挿入する方法が見つからなかったので、代わりに\ tを書きましたが、ファイルにタブ表示ができました。
ベストアンサー1
短いsed方法:
sed 's/^\(.*\t\)[^;]*;/\1/' file
出力:
gi_1 Pink;Blue;Beige;Yellow;Orange;Red;Green irish
gi_2 Black;White;Beige;Brown;Cyan;Purple;Red pepper
\(.*\t\)
- 最初の部分に必要な部分をキャプチャします。