awkまたはsedを使用して、一致する7行をCSV行に変換します。

awkまたはsedを使用して、一致する7行をCSV行に変換します。

次のテキストファイルがあります。

707.421
KFDTL902
C
107.31 NL
Chn PCO
FMN 
Chn Co
727.102
KFDTL901
C
107.32 NL
Chn PCO
FMN 
Chn Co

このパターンで繰り返されます。 707.xxx ([0-9]{3}.[0-9]{3}) を一致させようとした後、次の 7 行を取得し、最初の行をセルの CSV 行にインポートします。正規表現の一致。したがって、出力は次のようになります。

707.421,KFDTL902,C,107.31 NL,Chn PCO,FMN,Chn Co
707.421,KFDTL902,C,107.31 NL,Chn PCO,FMN,Chn Co
707.421,KFDTL902,C,107.31 NL,Chn PCO,FMN,Chn Co

awkまたはsedを使用してこれを実行できますか?試合後、次の7行を使用するためにこのツールをどのように使用できますか?

ベストアンサー1

そしてsed

$ sed '/^[0-9]\{3\}\.[0-9]\{3\}$/{N;N;N;N;N;N;s/\n/,/g}' input.txt
707.421,KFDTL902,C,107.31 NL,Chn PCO,FMN ,Chn Co
727.102,KFDTL901,C,107.32 NL,Chn PCO,FMN ,Chn Co

パターンに一致する各行について、次の6行を読み、パターンスペースに追加してから、改行をコンマで置き換えます。

おすすめ記事