Я хотел бы изменить тип файла нескольких файлов сразу. Файлы похожи 1, 2, 3..., и я хочу, чтобы они были 01, 02, 03...
Это - вид странного типа файла, но это, как заканчиваются мои выводы программы.
Я использую Ubuntu 14.04 для Вашей информации.
Заранее спасибо,
Хотя существуют более простые пути в данном случае, общий подход, который я проявил бы, должен переиздать числовой суффикс с Вашей желаемой шириной поля, и дополняющий - любое использование оболочки printf
функция
for f in A*; do
printf -v fnew '%s.%02d' "${f%.*}" "${f##*.}"
echo mv -v -- "$f" "$fnew"
done
(удалите echo
, после того как Вы проверили, что это делает правильную вещь) или с находящимся в perl rename
/ prename
prename -vn -- 's/\.(\d+)$/sprintf ".%02d", $1/e' A*
(на этот раз, удалите n
для фактического переименования).
Я принимаю:
0
после того, как .
во всех именах файлов A
представляет то, что, перед .
и это - тот же каждый раз и не имеет никаких специальных символов (например, существует только один .
) , Если это верно, что очень легко заменить A.
A.0
во всех именах файлов.
(Однако необходимо определенно сделать то, что steeldriver говорит, как нет сомнения, что, это - полностью превосходящий метод)
, Удостоверяются, что Вы находитесь в каталоге, где файлы (откройте терминал и cd
к правильному каталогу, или перейдите к нему в Наутилусе и затем щелкните правой кнопкой и выберите "открытый в терминале") путем выполнения ls
- необходимо видеть файлы, которые Вы хотите переименовать. Можно использовать for
цикл
for f in A*; do mv "$f" "${f/A./A.0}"; done
Или еще легче, использовать rename
rename 's/A\./A.0/' A*