次のファイルがあります。
firstname=John
name=Smith
address=Som
ewhere
ご覧のとおり、住所は 2 行に渡っています (2 行目はスペースで始まります)。
「良い」出力 (「address=Somewhere」を使用) を別のファイルに書き込む必要があります。
それは私が書いた最初のスクリプトです (少し複雑です):
foreach $line (@fileIN) {
if ($lastline eq "") {
$lastline = $line;
} else {
if ($line =~/^\s/) {
print $line;
$line =~s/^\s//;
$lastline =~s/\n//;
$lastline = $lastline.$line;
} else {
print fileOUT $lastline;
$lastline = $line;
}
}
}
$line =~/^\s/ => この正規表現は $line のスペースに一致しますが、先頭だけではありません。
簡単なものも書いてみましたが、うまくいきません:
perl -pe 's/$\n^\s//' myfile