さまざまなランダムなファイル拡張子を含むファイルのフォルダーと、拡張子をまったく含まないファイルのフォルダーがあります。ファイル名から拡張子を取り除きたい。私は長く曲がりくねった道を進んでいるかもしれないと感じていますが、オンザフライで実行できないため、2 つのリストと move コマンドの使用は避けたかったのです。
私が使用しているコードは、拡張子を保持する変数を作成し、sed 構文を使用して名前変更コマンドを呼び出して、ファイルから変数を削除しようとしています。
for i in `ls`; do
blah=$(echo $i |awk -F . '{if (NF>1) {print $NF}}')
echo \.$blah
rename 's/\.$blah//' $i
done
私が得ているエラーは次のとおりです。グローバルシンボル "$blah" requires explicit package name at (eval 1) line 1
この時点で、前後の列を含む csv を作成し、それを使用してファイル名を削除しますが、今後の参考のために、これを達成する方法を知りたいと思います。
1 つまたはいくつかの拡張機能の名前変更の使用に関する投稿がたくさんあります。
rename 's/.mp3//' *.mp3
しかし、さまざまな拡張機能の数のために...