Переименовать файлы, но сохранить исходную отметку времени файлов в имени

Этот сценарий выполняет итерацию по набору имеющихся у вас файлов mp4 . Требуется абсолютный путь к каждому из них, чтобы vcs мог надежно найти видеофайл.

for mp4 in ~/Temp/*/*/*.mp4
do
    dir="$(dirname "$mp4")"
    screen="$dir/Screen"

    if test ! -d "$screen"
    then
        echo "Processing videos in $dir" >&2
        mkdir -p "$screen"
    fi
    ( cd "$screen" && vcs "$mp4" -U0 -n 15 -c 3 -H 200 -a 300/200 -j )
done
1
02.02.2018, 10:46
1 ответ

Попробуйте сделать так

for x in *; do
    mv "${x}" FILE_NAME_NEW."${x#filename.New_}"
done

Сначала используйте echoперед mv, чтобы вы могли увидеть, каков эффект, прежде чем переименовывать файлы. «${x}» — это переменная с вашим именем файла (, например.filename.New_20160901.dat)и «${x #filename.New _}» — это имя файла с удаленным filename.New_, если оно находится в начале (, например.20160901.dat).

0
27.01.2020, 23:44

Теги

Похожие вопросы