bash замена пробелов в названиях файлов

При написании скриптов часто бывает необходимо производить какие-либо операции с пользовательскими файлами.



Файлы и каталоги, создаваемые в графическом интерфейсе операционных систем, работающих на базе Linux, могут иметь в названиях пробелы. Копирование/перемещение таких файлов скриптом может быть невозможно, поэтому предварительно пробелы в их названиях заменяются нижними подчеркиваниями.

 

Как в Bash заменить пробелы в названиях файлов и каталогов нижними подчеркиваниями

Замещение будем производить при помощи оператора tr подменяя в цикле пробел » » на нижнее подчеркивание «_». Содержимое директории обрабатывается файл за файлом, в процессе замены производится перемещение изначального файла/каталога в переименованный командой  tr

for i in *;do mv «$i» `echo $i| tr » » «_»`; done



В случае если необходимо обрабатывать подобным образом только файлы с определенным расширением — его можно задать дополнительно, например, в виде *.jpg

 

Также читайте как удалить пробелы и знаки комментария в редакторе vi

Запись опубликована автором в рубрике Bash.