hello-world
webエンジニアのメモ。とりあえずやってみる。

[ruby]ag + rubyで一括置換するワンライナー

公開日時

htmlやテンプレート内にメタタグを記述した際に「キーワード1,キーワード2」と,区切りで設定すべきところを、間違って「キーワード1、キーワード2」と、区切りにしてしまった際にagコマンドとrubyを組み合わせて一括置換できないかやってみました。

そしてできたのが以下のワンライナー

ag keywords app/views/ -l | xargs ruby -i -pe 'if $_.match(/keywords: /) then $_.gsub!(/、/, ","); else $_; end'

今回、 meta-tagsを使ってキーワード設定をしていたので、agコマンドでapp/views以下の「keywords」を含むファイルを検索して、該当ファイルに対してrubyで1行ずつ読み込み、「keywords: 」に該当する行の場合は、を,に置換するようにしています。

もう少し短く書けるようにしたいです。

参考


Related #Ruby

[Rails]find_or_create_byとfind_or_initialize_by

Rails4で確認。

capistranoで世代管理する際の注意点

最近、デプロイツールに capistranoを使っているのですが、世代管理の設定を勘違いしていたのでメモを残しておきます。

[rails]unicornでpryを使う

先日、pryでデバッグする という記事を書きましたが、こちらはrails server(フォアグランド)でアプリを立ち上げた際のデバッグ方法でした。