Sådan ændres filudvidelser af filer via kommandolinje i Mac OS

Kommandolinjebrugere kan finde det nyttigt at ændre og omdøbe filudvidelsen for en gruppe af filer i en mappe. Lad os f.eks. Sige, at du har et parti af filer med filtypen ".txt", men du vil have alle disse filtilladelser til at være ".py" i stedet. Det er det, vi skal demonstrere her ved at stole på simple bash scripting for at ændre en gruppe filudvidelser på kommandolinjen i Mac OS / OS X, men det vil også fungere i linux og andre unix smag.


Før du begynder at indse, at dette ikke ændrer en filtype, ændrer den kun filtypen. Desuden er denne walkthrough tilgang forsætligt ved hjælp af kommandolinjen og er derfor rettet mod mere avancerede brugere. Terminalen er imidlertid ikke den eneste måde at gøre dette på, og så hvis dette er for avanceret eller irrelevant til din brugerdygtighedssæt, så husk at Mac OS tilbyder enkle værktøjer til både batch omdøbe filer i Mac OS og batch ændre filudvidelser i Finder også, hvoraf ingen kræver kommandolinjen overhovedet. OKAY? Okay til kommandolinjen tilgang ved hjælp af et simpelt one line bash script.

Forresten skal du altid lave en kopi og / eller backup af de filer, du ændrer, især hvis du er ny på kommandolinjen. Hvis du undlader at gøre det, kan det resultere i tab af data, Terminal er uforgivelig for typografier eller fejl, så tag ikke over dine sikkerhedskopier.

Sådan ændres alle filudvidelser i et katalog via kommandolinjen

Lad os tage et par eksempler. I det første eksempel vil vi ændre alle filer i den nuværende arbejdsmappe med udvidelsen ".txt" og ændre dem til ".py" i stedet. Hvis du antager, at du er i det bibliotek, hvor du ønsker at ændre alle filer i den aktuelle mappe til en ny filtypenavn, her er syntaksen, der skal bruges:

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

Bemærk, at dette bruger wildcard * betyder alt og alt i den nuværende mappe, der matcher "* .txt" filtypen vil blive ændret. Bemærk også de mange forekomster af "txt" og den ene forekomst af "py", som du gerne vil ændre, så de passer til dine behov.

Alt dette gør, at der oprettes en simpel sløjfe, hvor der findes filer, der matcher wildcard og den oprindelige filtype, og derefter udfører kommandoen "mv" for at flytte (omdøbe) disse filer fra den oprindelige filudvidelse til udskiftningen. Ret simpelt, ikke?

Lad os tage et andet eksempel, lad os sige, at vi har en samling billedfiler i den nuværende mappe med filnavne som "blahblah.jpg.JPEG", men vi vil bare have, at de alle har samme filnavn af de mindre overflødige og lettere at læse ”blazblah.jpeg”. I så fald ser syntaxen ud som følger:

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

Kommandolinjemetoden til at ændre filudvidelser er ret hurtig, og filudvidelserne ændres hurtigt, uden advarselsdialoger eller bekræftelser.

Og for at gentage igen, er dette ikke at konvertere nogen filtyper eller ændre alt andet end filtypenavnet.

Kendskab til en bedre måde at ændre en masse filudvidelser af filer i en mappe via kommandolinjen? Vil bare gennemse nogle andre gode kommandolinjespidser (gå her)? Lad os vide dine tanker i kommentarerne!