私のフォルダには、次のような名前のファイルがたくさんあります。
abc.test.txt
edf.main.txt
num2.tb.doc
file3.map.csv
file4.test.csv
間にあるテキストが削除されるようにファイルの名前を変更し.
、上記のファイルの名前を次のように変更しようとします。
abc.txt
edf.txt
num2.doc
file3.csv
file4.csv
可能ですか?
似たようなものが見つかりましたが、私のニーズに合っていませんでした。
ベストアンサー1
zsh では、次を使用します。zmv
。実行するautoload -U zmv
か、「/.zshrc」に入れてから
zmv '(*).*(.*)' '$1$2'
または
zmv -w '*.*.*' '$1.$3'
または、次のprename
コマンド(各ファイル名に式を適用するPerlスクリプト)がある場合:
prename 's/\..*\././' *.*.*
シェルを使用して、各POSIXシステムで利用可能なツールのみを使用してください。リングとパラメータ拡張名前の一部を抽出します。
for x in *.*.*; do
mv -- "$x" "${x%.*.*}.${x##*.}"
done