Bij veel gelegenheden bent u bestandsnamen en mappen tegengekomen met tussenliggende spaties in hun naam, vooral die van Windows. Deze spaties zijn vaak vervelend, vooral wanneer u vanuit de shell werkt, omdat u ze moet identificeren zodat ze niet worden behandeld als afzonderlijke opdrachtnamen of opties. Daarom gaan we in deze tutorial een aantal manieren bekijken om automatisch spaties verwijderen.
Daarnaast gaan we ook kijken hoe deze ingezet kunnen worden bestanden of mappen met namen met spaties zonder je een fout te geven.
Hoe bestanden en mappen met spaties te gebruiken
Te proberen om ontsnappingsruimten van de namen van de bestanden en mappen in de Linux-terminal, kunt u dit op de volgende manieren doen:
- Inclusief "" (dubbele aanhalingstekens) in een deel van het pad waar spaties zijn of in het geheel. Bijvoorbeeld:
cd "nombre con espacio"/
- Gebruik een \-teken voor elke spatie. Bijvoorbeeld:
nano nombre\ con\ espacio.txt
Op deze manieren zul je omzeil deze vervelende ruimtes. Om deze opties niet opnieuw te hoeven gebruiken, wat onhandiger kan zijn, kunt u deze stappen volgen...
Spaties uit namen verwijderen
Nu kunt u verschillende methoden gebruiken om ervoor te zorgen dat deze naamruimten voor altijd geen probleem meer zijn. Als u een groot aantal namen met spaties heeft, is het niet logisch om ze één voor één te doen, maar u kunt deze taken automatiseren om spaties verwijderen of vervangen:
- Gebruik de opdracht hernoemen ervoor. De eerste van deze opdrachten verwijdert bijvoorbeeld spaties uit alle .txt-bestanden, terwijl de tweede spaties verwijdert uit alle bestanden in de huidige map:
hernoem 's/\s/_/g' ./*.txt
hernoem 's/\s/_/g' ./*.*
- Gebruik find om alle namen met spaties te vervangen door ze te vervangen door _. Doe het bijvoorbeeld met alle .txt van de huidige map of van de hele FS:
find . -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \; **find / -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;