0

特別にフォーマットされた予測可能な「コード」で始まり、その後に 1 行以上のテキスト行が続き、別のコード行に 1 行以上のテキスト行が続く行を含む、非常に大きなテキスト ファイルがあります。私の目標は、この混乱からcsv、最初のフィールドとしてコード行を含むファイルを作成し、次に次のコード行が検出されるまでコードに続くすべての行を含む 2 番目のフィールドを作成することです。2 番目のフィールドにもコード行を含めることができれば、非常に役立ちます。でも無理なら……。

したがって、私のテキストファイルは次のようになります。

54-332
line of text 1
line of text 2
line of text 3
54-334
line of text 1
line of text 2
line of text 3
line of text 4

そしてCSV、インポート可能なファイル、ExcelまたはMySQL次のようなファイルを取得しようとしています。

"54-332","line of text 1 line of text 2 line of text3"
"54-334","line of text 1 line of text 2 line of text3 line of text4"

コードを特定する部分を書くことはできましたが、残りの部分をどうするか困っています。テキストには信頼できるフィールド セパレータはなく、レコード セパレータ (コード) だけです。

みんな、ありがとう。

4

2 に答える 2

4

不可解ですが、仕事をします:

$ awk '{$1=q s q","q $1;$0=$0q;s=RT}NR>1' RS="[0-9]{2}-[0-9]{3}" q='"' file
"54-332","line of text 1 line of text 2 line of text 3"
"54-334","line of text 1 line of text 2 line of text 3 line of text 4" 
于 2013-09-14T19:38:45.390 に答える