Hvordan endre filutvidelser av filer via kommandolinje i Mac OS

Kommandolinjebrukerne kan finne det nyttig å endre og omdøpe filutvidelsen til en gruppe filer i en katalog. For eksempel, la oss si at du har en gruppe filer med filtypen ".txt", men du vil at alle disse filtypene skal være ".py" i stedet. Det er det vi skal demonstrere her ved å stole på enkle bash scripting for å endre en gruppe filutvidelser på kommandolinjen i Mac OS / OS X, men dette vil også fungere i Linux og andre Unix-smaker.


Før du begynner, innser dette ikke endrer en filtype, det endrer bare filtypen. I tillegg er denne walkthrough tilnærmingen forsettlig å bruke kommandolinjen og er derfor rettet mot mer avanserte brukere. Terminal er imidlertid ikke den eneste måten å gjøre dette på, og så hvis dette er for avansert eller irrelevant til brukerens ferdighetssett, så husk at Mac OS tilbyr enkle verktøy for både batch omdøpe filer i Mac OS og batch endre filutvidelser i Finder også, ingen av dem krever kommandolinjen i det hele tatt. OK? Ok på kommandolinjens tilnærming ved hjelp av en enkel enlinje bash script.

Forresten bør du alltid lage en kopi og / eller backup av filene du endrer, spesielt hvis du er ny på kommandolinjen. Hvis du ikke gjør det, kan det føre til tap av data, Terminal er uforgivelig for skrivefeil eller feil, så ikke hopp over sikkerhetskopiene dine.

Slik endrer du alle filutvidelser i et katalog via kommandolinjen

La oss ta noen eksempler. I det første eksemplet skal vi endre alle filer i den nåværende arbeidsboken med utvidelsen ".txt" og endre dem til ".py" i stedet. Forutsatt at du er i katalogen der du ønsker å endre alle filer i gjeldende katalog til en ny filtillegg, her er syntaksen som skal brukes:

for file in *.txt; do mv "$file" "${file%.txt}.py"; done

Merk at dette bruker wildcard * som betyr alt og alt i den gjeldende katalogen som matcher "* .txt" filtypen vil bli endret. Legg også merke til flere forekomster av "txt" og den ene forekomsten av "py" som du vil endre for å passe dine behov.

Alt dette gjør, er å lage en enkel sløyfe der filer som matcher wildcard og den første filtypen blir funnet, og deretter utfører kommandoen "mv" for å flytte (omdøpe) disse filene fra den opprinnelige filutvidelsen til utskiftningen. Ganske enkelt, ikke sant?

La oss ta et annet eksempel, la oss si at vi har en samling bildefiler i den nåværende katalogen med filnavn som "blahblah.jpg.JPEG", men vi vil egentlig bare at de alle har samme filnavn av de mindre overflødige og enklere å lese “blazblah.jpeg”. I så fall ser syntaxen ut som følgende:

for file in *.jpg.JPEG; do mv "$file" "${file%.jpg.JPEG}.jpeg"; done

Kommandolinjemetoden til å endre filutvidelser er ganske rask, og filutvidelsene endres raskt, uten advarselsdialoger eller bekreftelser.

Og for å gjenta igjen, er dette ikke å konvertere noen filtyper eller endre noe annet enn filtypenavnet.

Vet om en bedre måte å endre en gjeng med filutvidelser av filer i en katalog via kommandolinjen? Vil bare bla gjennom noen andre gode kommandolinjepunkt (gå her)? Gi oss beskjed om dine tanker i kommentarene!