ls -1 | grep " " | awk '{printf("mv \"%s\" ",$0); gsub(/ /,"_",$0); printf("%s\n",$0)}' | sh # rename filenames: spaces to "_"
Эта команда выполняет следующие действия:
1. ls -1
— Выводит список файлов и директорий в текущей директории, каждый на новой строке.
2. grep " "
— Фильтрует только строки, содержащие пробелы в именах файлов.
3. awk '{printf("mv \"%s\" ",$0); gsub(/ /,"_",$0); printf("%s\n",$0)}'
— Для каждой строки с пробелами, генерирует команду mv
для переименования, заменяя пробелы на символ подчеркивания.
4. | sh
— Выполняет сгенерированные команды с помощью оболочки (shell).
Эта команда полезна для массового переименования файлов с пробелами в именах, заменяя пробелы на символ подчеркивания. Альтернативой может быть использование скрипта или графического файлового менеджера для более удобного переименования файлов.