Как я могу изменить типы файлов нескольких файлов сразу?

Я хотел бы изменить тип файла нескольких файлов сразу. Файлы похожи 1, 2, 3..., и я хочу, чтобы они были 01, 02, 03...

Это - вид странного типа файла, но это, как заканчиваются мои выводы программы.

Я использую Ubuntu 14.04 для Вашей информации.

Заранее спасибо,

2
задан 6 September 2016 в 01:58

2 ответа

Хотя существуют более простые пути в данном случае, общий подход, который я проявил бы, должен переиздать числовой суффикс с Вашей желаемой шириной поля, и дополняющий - любое использование оболочки 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 для фактического переименования).

3
ответ дан 2 December 2019 в 01:43

Я принимаю:

  • Вы просто хотите вставить 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*
3
ответ дан 2 December 2019 в 01:43

Другие вопросы по тегам:

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