Как переименовать пакет файлов через CLI, когда задействованы пробелы

У меня есть целая куча файлов, которые вот так:

x54y65.dat

, и я хочу префикс их определенной фразой, чтобы они выглядели так:

some prefix - x54y65.dat

Это пространство после дефиса, который меня достает.

Я попытался:

 mv * some\ prefix\ -\ *

, но это не сработало. Как мне это сделать? Спасибо

1
задан 4 November 2013 в 07:34

2 ответа

rename 's//some prefix - /' *.dat

Используется синтаксис типа regex для переименования всех файлов с указанным расширением (.dat) в одной строке. Он легко обрабатывает пробелы, так как он принимает любые символы, инкапсулированные в /

2
ответ дан 24 May 2018 в 15:44
[F1]
1
ответ дан 24 May 2018 в 15:44
  • 1
    Это просто переименовывает только один файл и ничего не объясняет. Речь шла о переименовании пакетов. – LiveWireBT 4 November 2013 в 16:02
  • 2
    Даже тем не менее, я ценю ключ к цитатам. Я так новичок, я даже этого не знал. Когда я разобрался в пространствах в Linux, я обнаружил, что вы должны положить a \ перед пространством. Я никогда ничего не видел об инкапсулировании. Тем не менее, это стандарт от дней DOS, поэтому я должен был попробовать (duh). Ответ, который я предоставил себе в своих комментариях, работает лучше, однако, поскольку он делает все файлы за один раз. – bcsteeve 4 November 2013 в 20:46
  • 3
    for i in *; do mv $i "some prefix-"$i;done для переименования нескольких файлов – andr3w 5 November 2013 в 02:50

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

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