Удалить пробелы из имен файлов в Linux [закрыт]
у меня есть сотни файлов jpg в разных папках, таких как:
- 304775 105_01.формат JPG
- 304775 105_03.формат JPG
- 304775 105_05.формат JPG
- 304775 105_07.формат JPG
- 304775 105_02.формат JPG
- 304775 105_04.формат JPG
- 304775 105_06.формат JPG
в основном, мне нужно удалить пробелы. Я уже знаю команду для изменения пробелов в подчеркивания:
$ rename "s/ /_/g" *
но мне не нужен подчеркивания в этом случае. Мне просто нужно убрать пробел. Я попробовал следующее, Но это не сработало:
$ rename "s/ //g" *
любая помощь будет оценили.
2 ответов
вы можете сделать что-то вроде этого:
IFS="\n"
for file in *.jpg;
do
mv "$file" "${file//[[:space:]]}"
done
следующее будет работать, если это действительно пространство.
$ rename "s/ //g" *
попробовать
$ rename "s/\s+//g" *
\s
- символ пробела, принадлежащий множеству [ \t\r\n]
.