私のフォルダに多くのファイルがあり、プレフィックスまたはサフィックスを追加したいです(両方)与えてください。確認しましたここ使えることがわかりました
for filename in *.jpg; do mv "$filename" "prefix_$filename"; done;
で終わるすべてのファイルにプレフィックスを追加します.jpg
(削除すると、.jpg
現在のフォルダ内のすべてのファイルにプレフィックスが追加されます)。
しかし、私はできることを願っています
- サフィックスを追加します(例:
filename.ext
に名前を変更するなどfilename.whatever.ext
)。 - プレフィックスまたはサフィックスがすでに存在していることを確認してスキップします。
addprefix whatever *.ext
または、同じパラメータを受け入れるエイリアスを作成します。addsufix whatever *.*
ベストアンサー1
使用している場合は、bash
この1行のコードで操作を実行できます(変数があり、$prefix
簡単に使用できる$suffix
と仮定)。$extension
mv "$filename" "$prefix${filename%.$extension}$suffix.$extension"
スクリプトを作成できます
#!/bin/bash
# Usage: addprefix <prefix> <files>
prefix=$1
shift
for f in "$@"
do
mv "$f" "$prefix$f"
done
そして
#!/bin/bash
# addsuffix <suffix> <files>
suffix=$1
shift
for f in "$@"
do
extension=${f##*.}
if [ -z $extension ]; then
mv "$f" "$f$suffix"
else
mv "$f" "${f%.$extension}$suffix.$extension"
fi
done