EnvaderでLinuxの基礎を学ぶ[正規表現]
EnvaderでLinuxの基礎を学ぶ。
今回は、Linux基礎コースの「正規表現編」です。
Linux関連のお勉強は、オプションとかコマンドとか基本的に使っていかないと覚えられないなと思いますが、正規表現ってわかりそうで、なかなか覚えられないもののひとつ。なんかよい覚え方ないだろうか。
Envaderでは、この正規表現編で、正規表現とその6でも少し書いた、ファイル内の特定の文字列を検索するためのコマンドである「grep」コマンドを学びます。Envaderの基礎コースのタイトルが「正規表現について」となっているので、ちょっとわかりにくいです。
「grep」コマンドって重要なコマンドな気がするので、ちゃんとタイトルにかいたほうがよいかも? とちょっと思った。
正規表現をなかなか使いこなせないのは、オプションのように使う、この特殊文字が覚えられないから。
普段仕事で、テキストエディタの「秀丸」などは正規表現を使用して文章ないを検索できるので、行頭の改行を検索するとか余分な半角スペースを探すとか、使用するけど、毎回特殊文字をググるはめになって覚えられない…。
Linuxでも、grepコマンドと組み合わせることで、さまざま検索を行うことができる。
Envaderの例でいうと、基本的な使い方は以下の通り。
grep 特定の文字 ファイル名
例1: sample.txtの中身で最初の文字がaかbの行を探したいとき
grep ^[ab] sample.txt
例2: カレントディレクトリにあるmainという名前のgoとjavaのファイルを探したいとき(lsコマンドとパイプでつなぐ)
ls | grep -E '^main\.[(go$)(java$)]'
これ、特殊文字がわからないと、何のことやらですよね……
grepの-Eオプションは、正規表現を使うときにつける。
この辺になるEnvaderの問題もちょっとだけひねりがでてきて、grepの練習をすることになります。
さて、正規表現もちゃんと覚えるぞ。