1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

bashで複数の拡張子を一気に変更するalias

Last updated at Posted at 2015-02-08

bashrcにaliasを登録して、変換前後を任意に選択できるようにしたい。

実行例、TOKIOからSMAPへ

terminal
ren tokio smap

任意のディレクトリで実行すると

nakai.tokio -> nakai.smap
kimura.tokio -> kimura.smap
inagaki.arashi -> inagaki.arashi

みたいに、指定したものだけ変わる。
以下コードを.bashrcに書き込んでsource ~/.bashrc

.bashrc
function ren(){
    for fname in *.$1;
    do
        mv $fname ${fname%.$1}.$2;
    done
}

こういう解説たくさんあったけど、aliasみたいに登録するのが見つけられなかったので書きました。使う場面はそう多くないかもしれないけれど。
僕は、railsでviewがerbで生成されてしまって、めんどくさいと思って探しました。これからrails自体の設定方法を探します。

それと、実際はaliasではなく、引数が必要なためにfunction()になりますが、僕がfunction()でやるんだというのを知らなかったから始めaliasで検索してしまったので、ここにaliasと書いてあります。僕みたいな初心者が幸せになりますように。

===== 追記 =====

結局、html2slimというgemが中身も変えてやってくれるらしい。

terminal
gem install html2slim

の後に、先ほどのソースのように

terminal
h2s erb slim

みたいに使うことにする。
当記事のソースに当てはめると

.bashrc
function h2s(){
    for fname in *.$1;
    do
        erb2slim $fname ${fname%.$1}.$2;
        rm $fname;
    done
}

できました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?