他の人が言及したように、 rename
はこれが得意ですが、man ページを読んでください (man rename
) 試す前に。 rename
と呼ばれるまったく異なるツールが少なくとも 2 つあります。 どちらを持っているかは、ディストリビューションによって異なります。呼び方を間違えると危険です。
これは、Ubuntu に同梱されている Larry Wall による perl ベースのバージョンの man ページです。 rename 's/\.sql$/.php/' *.sql
のような perl 式を指定します
これは、古い Red Hat および CentOS ディストリビューションに同梱されている名前変更のマニュアル ページです。使い方は rename .sql .php *.sql
のような単純な文字列置換
また、bash ワンライナーを使用して、各ファイルを一度に 1 つずつ処理することもできます。
$ for f in *.sql; do mv -i "$f" "${f%%.*}.php"; done
rename(1)
です 、正規表現を使用しませんが、問題を解決できます:
rename .sql .php *.sql
mmv(1)
もあります 、しかし、それがどのように機能するのかよくわかりません.
こんにちは、
あなたも入力してみてください
for i in $(\ls -d *.sql)
do
mv $i $(echo $i | sed -e 's/\.sql$/\.php/')
done
または、正規表現を使用するには、わずかに
に変更しますfor i in $(\ls -d | egrep -e '.*\.sql')
do
mv $i $(echo $i | sed -e 's/\.sql$/\.php/')
done
シェルコーディングのちょっとした楽しみのために。 (-: