【C++】 gMockのEXPECT_CALLでエラーが出た時
salmoncode
TechTopic
過去ブログのデータを移行しようとエクスポートしたら、1 つの MT ファイルとして出力されてしまいました。
仕方ないので、いい感じにファイルを分割したいと思ったのですがコードを書くのは面倒です…
そこで調べてみたところ、csplit
というコマンドで正規表現による分割ができるようですね。
ちょっと使い方に癖があったのでメモしておきます。
まず、Mac の csplit コマンドは Linux のそれと仕様が違います。
ググって出てきた使い方だとうまく動かないという罠があります。
なので、まずは gnu 版をインストールしましょう。
基本的なコマンドは以下の通りです。
例えば以下のような`sample.txt`があったとします。
ここで以下のコマンドを打つと、2行目の「bbb」で分割されます。
元ファイル 5 行目の`bbb`でも分割したい場合はcounter
を設定します。
つまり、ヒットしたパターンの行の直前で分割されるようですね。
ちなみに、ヒットした行全て分割したい場合は以下のようにします。
シンプルに指定できて便利なコマンドですね。
こういったテキスト処理系は魔術にならない程度にコマンドを駆使して高速化しましょう。