Giblogは記事の検索・置換が簡単
Giblogは記事の検索・置換が簡単です。Giblogは、Webサイトの記事のデータをすべてファイルとして持っています。すべてがファイルなので、LinuxコマンドやPerlを使って、記事を簡単に検索・置換できます。
「あー、ブログ記事のこの言葉を一括置換したいのにー」そんなときは、たまにありませんか。Giblogは、LinuxコマンドとPerlを使って、簡単に実現できます。
記事を検索してみよう - grepコマンド
記事を検索するには、grepコマンドが使えますよ。grepコマンドというのは、ファイルの中に、特定の文字列が含まれていることを調べることができるLinuxのコマンドです。ディレクトリの中にあるファイルすべてを対象にする場合は「-r」オプションを使用します。
grep -r 文字列 対象ディレクトリ
grepコマンドを使って、「templates」ディレクトリの下にある、記事の中にある「ステーキ」という言葉を探してみましょう。
grep -r "ステーキ" templates
以下のように「ステーキ」が含まれている行が、ファイル名と一緒に画面に出力されます。
templates/blog/20190821075954.html:動的なステーキに、プラグインなどのユーザープログラムを追加した場合は、プラグインを追加するたびに、ステーキが遅くなります。 templates/blog/20190814071930.html:さらに、自分でステーキを作って、ドメインを取得して、アウトプットしている人は、さらに少ないです。 templates/blog/20190814071930.html:Giblogでステーキを作ると、少なくとも、自分でステーキを作れる人なんだということが、わかります。 templates/index.html: レンタルサーバーなしで、本格的なステーキ制作を、Window, macOS, Linuxのパソコン上でお試しいただけます。環境のセッティングは、手順を進めるだけ。 templates/start.html: <li><a href="/blog/20190416153053.html">Windowsでステーキ作成の環境を構築する</a></li> templates/start.html:<h3>ステーキのデザイン</h3> templates/start.html:<h3>ステーキを改造する</h3>
初めてgrepを使った方は、びっくりしたのではないでしょうか。こんなに簡単に素早く検索ができるんですね。
HTMLファイルとCSSだけに限定する
検索結果には、画像ファイルなどの、すべての結果が含まれてしまいますから、HTMLファイルやCSSなどのテキストファイルだけを抜き出したいですね。
そういう場合は、検索結果からさらにHTMLファイルを絞り込むことができます。Linuxコマンドのパイプ、grep、Perlの正規表現をうまく組み合わせます。
# ステーキを含んでいるHTMLファイルとCSSファイルだけに絞りこむ grep -r "ステーキ" templates | grep -P "(\.html|\.css)"
こう書くと、ステーキを含んでいるHTMLファイルとCSSファイルだけに絞りこむことができるんです。
理解を深めたい方は、Linuxコマンド、grep、Perlの正規表現で検索してみてください。
Perlを使って置換する
記事の中のこの単語をを置換したいという場合がありますよね。こういう場合も、LinuxコマンドとPerlをうまく組み合わせればいけるんです。
ステーキを寿司に置換してみましょう。
先ほどのコマンドを少し修正します。なぜこれでいけるのかということは、別の場所で解説しますね。まず置換が、こんなに簡単にできるんだーということを知ってもらえたらと思います。
grep -rl "ステーキ" templates | grep -P "(\.html|\.css)" | uniq | xargs perl -pi -e "s/ステーキ/寿司/"
上記コマンドを実行するとあら不思議、記事のすべての「ステーキ」が「寿司」に変換されます。
置換で間違った場合に元に戻したい
間違って置換してしまう場合もありますよね。そういう場合は「git reset --hard」を使うことで変更を完全に元の状態に戻すことができます。
git reset --hard
詳しく知りたい場合は、gitコマンドについて検索してみてください。
検索・置換・元に戻すが簡単にできる
GiblogとLinuxコマンドとPerlとGitを使うと、検索・置換・元に戻すが非常に簡単にできます。