I have some поля which was written схвати: test_026542_time0663550.5.jpeg
and I would like to переямс схвати test_0663550.jpeg
in order to classify easily by order number because I have some errors with the current ямс.
Используйте эти rename
функция. Это является основным (опытная форма) $ rename s/"SEARCH"/"REPLACE"/g *
. Это заменяет файл "ПОИСК" "ЗАМЕНОЙ". /g
глобальные средства, поэтому если бы у Вас был "ПОИСКОВЫЙ SEARCH.jpg", это было бы переименовано, "ЗАМЕНЯЮТ REPLACE.jpg". Эти *
дополнительный тип как .mp3
или .pdf
. Так, Ваш пример был бы:
$ rename s/'test_026542_time0663550.5.jpeg'/'test_0663550_.jpeg'/g *
Это должно помочь.
Моя батарея заканчивается, таким образом, я сделаю это коротким
Острота Find+awk
find . -type f -printf "%f\n" | awk -F "_"
'{ORIG=$0;gsub(/\_[[:digit:]].*\_time/,"_");gsub(/\.[[:digit:]].*\.jpeg/,".jpeg"); NEW=$0;cmd="mv "ORIG"
"NEW;system(cmd)}'
Демонстрация
testdir2:$ ls
test_13442_time1446925878.1.jpeg test_27796_time1446925887.4.jpeg
test_25495_time1446925884.3.jpeg test_29681_time1446925881.2.jpeg
testdir2:find . -type f -printf "%f\n" | awk -F "_"
'{ORIG=$0;gsub(/\_[[:digit:]].*\_time/,"_");gsub(/\.[[:digit:]].*\.jpeg/,".jpeg"); NEW=$0;cmd="mv "ORIG"
"NEW;system(cmd)}'
testdir2:$ ls
test_1446925878.jpeg test_1446925881.jpeg test_1446925884.jpeg test_1446925887.jpeg