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

AWS SAMを使って署名付きURL発行APIを作る

S3の署名付きURL発行機能の検証を兼ねて、S3のキーをパラメータとして受け取り、署名付きURLを発行するAPIを作ってみました。

Rails Application Templateを使ってみた

やろうやろうと先延ばしにしていたRails Application Templateを使ってみました。

bundle install 時に An error occured while installing json (1.7.7)

mac で bundle install を実行した際に下記エラーが発生