Во многих случаях вы сталкивались с именами файлов и каталогов, в именах которых есть промежуточные пробелы, особенно те, которые исходят от Windows. Эти пробелы часто раздражают, особенно при работе из оболочки, поскольку их необходимо идентифицировать, чтобы они не рассматривались как отдельные имена команд или параметры. Поэтому в этом уроке мы рассмотрим некоторые способы автоматически удалять пробелы.
Кроме того, мы также увидим, как их можно использовать. файлы или каталоги с именами, которые содержат пробелы не выдавая вам ошибки.
Как использовать файлы и каталоги с пробелами
Попытаться места для побега из имен файлов и каталогов в терминале Linux вы можете сделать это следующими способами:
- Включая "" (двойные кавычки) в части пути, где есть пробелы, или во всем. Например:
cd "nombre con espacio"/
- Использование символа \ перед каждым пробелом. Например:
nano nombre\ con\ espacio.txt
Этими способами вы будете обойти эти раздражающие пробелы. Теперь, чтобы не использовать эти опции снова, что может быть более неудобно, вы можете выполнить следующие шаги…
Как убрать пробелы из имен
Теперь вы можете использовать различные методы, чтобы эти пространства имен навсегда перестали быть проблемой. Если у вас большое количество имен с пробелами, делать их по одному не логично, но можно автоматизировать эти задачи, чтобы удалить или заменить пробелы:
- Используйте для этого команду переименования. Например, первая из этих команд удаляет пробелы из всех файлов .txt, а вторая удаляет пробелы из всех файлов в текущем каталоге:
переименовать 's/\s/_/g' ./*.txt
переименовать 's/\s/_/g' ./*.*
- Используйте find для замены всех имен, содержащих пробелы, на _. Например, сделать это со всеми .txt текущей директории или всей ФС:
find . -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \; **find / -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;