Как я могу просмотреть каталог и настроить имена файлов - PullRequest
0 голосов
/ 23 июля 2011

Я хочу написать сценарий ksh, который проходит по каталогу и изменяет имена файлов, включая 001_DTS (где DTS - метка даты и времени), 002_DTS, 003_DTS и т. Д.

и удаляя aa, ab и т. д., потому что я хочу использовать это с функцией разделения (файлы, созданные из этой функции).

Ответы [ 3 ]

2 голосов
/ 24 июля 2011
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 голосов
/ 10 августа 2011

как насчет этого, а не для конкретной оболочки (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 перед циклом, просто присвойте переменную, как и другие сообщения.

0 голосов
/ 24 июля 2011

сначала запустите bash :-), а затем решите его:

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