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