2011-07-23 8 views

答えて

2
prefix="x" # the default 'split' prefix, change to suit yourself 
count=1 
dts=$(date +%Y%m%d%H%M%S) 

for f in "$prefix"[a-z][a-z]; do 
    mv "$f" "$(printf "%s%03d_%s" "$prefix" $count $dts)" 
    ((count++)) 
done 
+0

ありがとう!私は 'x'プレフィックスはファイル名プレフィックスとみなしているものと仮定していますか?再度、感謝します – Justin

-2

まず、それを解決するため、その後:-) bashのを実行し、:

bash # :-) 
J=1 
for I in * ; do 
    mv -i $I `printf '%03d' $J`_DTS 
    J=$((J+1)) 
done 
+0

kshの恋人は私の答えをdownvoteしないでください: – TMS

0

これはどうではなく、シェルの特定(kshの/ bashの)

cd /path/to/dir 
for file in * 
do 
    mv $file ${file}_$(date +%Y%m%d%H%M%S) && echo "file moved" || echo "unable to move" 
done 

あなたがしたい場合はループが他のポストのように変数を割り当てる前にDTSの値を修正してください。

関連する問題