解析して分析する必要があるログファイルがあります。ファイルには次のような内容が含まれています。
文書:
20141101 server contain dump
20141101 server contain nothing
{uekdmsam ikdas
jwdjamc ksadkek} ssfjddkc * kdlsdl
sddsfd jfkdfk
20141101 server contain dump
上記の内容に基づいて、前の行に追加する日付または数字が開始行に含まれていないことを確認する必要があります。
結果ファイル:
20141101 server contain dump
20141101 server contain nothing {uekdmsam ikdas jwdjamc ksadkek} ssfjddkc * kdlsdl sddsfd jfkdfk
20141101 server contain dump
ベストアンサー1
perl
否定的な予測を使用するのバージョン:
$ perl -0pe 's/\n(?!([0-9]{8}|$))//g' test.txt
20141101 server contain dump
20141101 server contain nothing {uekdmsam ikdas jwdjamc ksadkek} ssfjddkc * kdlsdlsddsfd jfkdfk
20141101 server contain dump
-0
正規表現のクロスドメイン一致を許可するフルファイル、は、\n(?!([0-9]{8}|$))
改行文字の後に8桁の数字または行の終わり(使用されている場合は-0
ファイルの終わり)が続かないことを示す否定予測です。