2016-07-06 3 views

ответ

6

Для всех файлов в текущем каталоге

for i in *;do mv "$i" "${i// /_}";done 

Если вы хотите только соответствие файлов с пробелами (для предотвращения тонн сообщений об ошибках при попытке переместить файлы в себя), хотя можно использовать расширенный Glob

shopt -s extglob 
for i in +(* *);do mv "$i" "${i// /_}";done 
+0

@Inian Кто сказал, что с этим что-то не так? Это не было приостановлено? – 123

+0

Upvote для использования встроенных возможностей регулярного выражения Bash вместо того, чтобы прокладывать что-то еще. Ницца! –

+0

Пожалуйста, всегда используйте 'mv -i', чтобы избежать случайных перезаписываемых файлов в массовых ходах! –

Смежные вопросы