おはようございます。こんにちは。こんばんは。
ミッドです。
導入編に引き続き、テキストエディタの活用編①になります。
サクラエディタを使った、ちょっとした業務効率ができるかも?です。csvファイルなんかを扱う方は、覚えておくと良いと思います。
今回は、「特定文字列の抽出(grep)」「正規表現を使った置換」を説明します。
特定文字列の抽出(grep)
Linuxを触ったことがある方ならおなじみ「grep」コマンド。これをサクラエディタで実行できます。
grepは、特定文字列を検索して、一致するものを抽出できるコマンド(ツール)です。
例えば、「Windows10」を含む行を抽出したり、「Windows7」を含む行を抽出できたりします。
下記のようなファイルだった場合、「aaa」を含むデータを抽出してみます。
ツールバーに出ているフォルダに目玉が付いているアイコンをクリックします。
「条件」に検索条件を入力します(今回は「aaa」)。
「現在編集中のファイルから検索」にチェックを付けます。
※開いていないファイルからも検索が可能です。大きいファイルの場合は、開かなくていいので便利です。
結果出力を「該当行」にします。(抽出したい場合に合わせて変えます)
結果出力形式を「結果のみ」にします。(抽出したい場合に合わせて変えます)
検索を実行します。
検索結果がこちらです。結果出力形式を「結果のみ」にすると、一致した行がそのまま出るので、オススメです。複数のファイルから特定の文字列で検索して抽出したい場合は、「ノーマル」「ファイル毎」にすると引っかかったファイルのファイルパスが分かります。
使ったデータは簡単なものなので、わざわざ抽出しなくても・・・という感じですが、数万行あるデータから目視でデータ抽出するとか無理です。
結果出力を「否定当行」にすると、「aaa」を含まない行の抽出なども可能です。
正規表現を使った置換
続いて正規表現を使った置換です。皆さんも置換はよく使うと思います。例えば、「aaa」を「www」に置換したいなんかは簡単にできると思います。
そういう簡単な置換は良いですが、先ほどのデータの先頭に「No.」という文字を追加したい場合、どうしますか?
9行くらいなら手打ちで構いませんが、そんなときに役立つのが「正規表現を使った置換」です。
では、やっていきます。
ツールバーに出ているフォルダに目玉が付いているアイコンをクリックします。
「置換前」に「^」を入力します。「^」は正規表現で先頭を表します。
「置換後」に今回先頭に付け加えたい「No.」を入力します。
「正規表現」にチェックを付けます。(正規表現を使う場合は、必ずチェック!!)
置換を実行します。実行結果が下記になります。
無事、先頭に「No.」を追加できましたね。今回使った「^」(先頭)以外にも、改行を示す「\r\n」、文末を示す「$」なんかも使えると思いますので、この3つは覚えておくと良いと思います。
これ以外にも色々な正規表現がありますので、もうちょっと複雑な検索をしたいという場合は、正規表現で調べてみてください。(そのうち使える正規表現もまとめたいと思います)
ちなみに先ほどのgrepでの検索でも正規表現で検索可能です。
———————–
抽出と置換、それぞれ基本的なものですが、この2つを使いこなせると大きいファイルの操作が楽になります。材料になるデータが大きすぎると取り回ししづらいので、必要部分だけ抽出してきて、不要な部分を置換で削って、そこから手動なりで作業できるデータにすると良いですよね。
慣れるまでに少し戸惑うかもしれませんが、身につくとかっこよくスマートなやり方じゃないですけど、力業で確実に処理できるのが良いところですね。
ではでは