bash
でちょっとしたスクリプトを書こうと思ったときに、あれ、これどうやるんだっけ?って何回かなったので、それらの解決方法をまとめておく
ちなみに全然どうでもいいことですが、最近FF5のサントラをよく聴き返しています。私が最もやり込んだRPGです。
music.apple.com指定したディレクトリ内のファイルに対してそれぞれ処理を行いたいとき
すんごく基本的なことだと思うが、もうググらないと書けないほどには忘れていました
#!/bin/bash for f in $(ls hogehoge/*.HEIC); do echo $f done
hogehoge
ディレクトリ内に存在する.HEIC
拡張子のファイルだけ表示します。
取得したファイルの拡張子を変更したいとき
これは忘れていたというか、知らなかったのですが、下記のように書くと拡張子変更してくれるようです。
#!/bin/bash for f in $(ls hogehoge/*.HEIC); do echo ${f%.HEIC}.bmp done
この場合.HEIC
を.bmp
に変更した上で表示されます。
取得したファイルのディレクトリ名だけ変更したいとき
#!/bin/bash for f in $(ls hogehoge/*.HEIC); do bmpfile=${f%.HEIC}.bmp bmppath=fugafuga/${bmpfile##*/} echo $bmppath done
これで下記のような形で、ディレクトリ名だけ変更されたファイルが表示されます。
fugafuga/001.bmp fugafuga/002.bmp fugafuga/003.bmp ...