SPICEネットリストの折り返し行をくっつける [シェルスクリプト]
SPICEネットリストでは、長い1行には途中に改行を入れて折り返すことができますが、その際、折り返された行の行頭には「+」マークを付けることになっています。
これが、シェルやawkで処理する際に障壁になります。
そこで、前処理として、「+」で始まる行を前の行にくっつけて1行にしてしまうことにします。
シェルやawkが扱える1行の文字数には上限があります(昔のSunOSでは1024文字だったような)が、面倒になるのでここでは無視します。使用上の制約としておきます。
出来上がったawkスクリプトが以下です。attachという名前にしました。なかなかシンプルで気に入っています。もっとシンプルにできるものでしょうか。
#!/bin/awk -f
/^\+ /{
LINE = LINE substr($0, 3)
next
}
{
if (LINE != "") {
print LINE
}
LINE = $0
}
END{
}
コメント 0