U mnogim prilikama ćete naići na imena datoteka i direktorijuma koji imaju razmake u svojim imenima, posebno na one koji dolaze iz Windowsa. Ovi prostori su često dosadni, posebno kada radite iz ljuske, jer ih morate identificirati kako se ne bi tretirali kao zasebni nazivi komandi ili opcije. Stoga ćemo u ovom tutorijalu vidjeti neke načine automatski uklanjaju razmake.
Osim toga, također ćemo vidjeti kako se oni mogu koristiti datoteke ili direktorije s imenima koja imaju razmake a da vam ne dovedem grešku.
Kako koristiti datoteke i direktorije s razmacima
Da pokušam prostori za bijeg od imena datoteka i direktorija u Linux terminalu, to možete učiniti na ove načine:
- Uključujući "" (dvostruki navodniki) u dijelu putanje gdje postoje razmaci ili u cijelom. Na primjer:
cd "nombre con espacio"/
- Korišćenje znaka \ ispred svakog razmaka. Na primjer:
nano nombre\ con\ espacio.txt
Na ove načine hoćete zaobići ove dosadne prostore. Sada, kako ne biste morali ponovo koristiti ove opcije, koje mogu biti nezgodnije, možete slijediti ove korake...
Kako ukloniti razmake iz imena
Sada možete koristiti različite metode da ovi imenski prostori zauvijek prestanu predstavljati problem. Ako imate veliki broj imena sa razmacima, nije logično da ih radite jedno po jedno, ali ove zadatke možete automatizirati da uklonite ili zamijenite razmake:
- Za to koristite komandu preimenuj. Na primjer, prva od ovih naredbi uklanja razmake iz svih .txt datoteka, dok druga uklanja razmake iz svih datoteka unutar trenutnog direktorija:
preimenuj 's/\s/_/g' ./*.txt
preimenuj 's/\s/_/g' ./*.*
- Koristite find da zamijenite sva imena koja imaju razmake, zamjenjujući ih sa _. Na primjer, uradite to sa svim .txt datotekama trenutnog direktorija ili cijelog FS-a:
find . -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \; **find / -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;