Så här ändrar du filförlängningar av filer via kommandoraden i Mac OS

Kommandoradsanvändare kan tycka att det är bra att ändra och byta namn på filtillägget för en grupp filer i en katalog. Låt oss till exempel säga att du har en grupp filer med filtillägget ".txt" men du vill att alla dessa filtillägg ska vara ".py" istället. Det är vad vi ska demonstrera här genom att förlita oss på enkla bash scripting för att ändra en grupp filtillägg på kommandoraden i Mac OS / OS X, men det kommer även att fungera i Linux och andra Unix-smaker.


Innan du börjar, inser det här inte ändrar en filtyp, det ändrar bara filtillägget. Dessutom går denna genomgångsinriktning avsiktligt med kommandoraden och riktar sig sålunda till mer avancerade användare. Terminalen är dock inte det enda sättet att göra det här, och så om det här är för avancerat eller irrelevant till användarens färdighetsuppsättning, så kom ihåg att Mac OS erbjuder enkla verktyg för båda batcherna byta namn på filer i Mac OS och batchändra filtillägg i Finder också, varav ingen kräver kommandoraden alls. OK? Okej på kommandoraden tillvägagångssätt med hjälp av ett enkelt enkelsidigt bash script.

Förresten borde du alltid göra en kopia och / eller säkerhetskopia av filerna du ändrar, särskilt om du är ny på kommandoraden. Om du inte gör det kan det leda till dataförluster, Terminalen är oförsonlig för skrivfel eller misstag, så hoppa inte över dina säkerhetskopior.

Så här ändrar du alla filtillägg i ett katalog via kommandoraden

Låt oss ta några exempel. I det första exemplet kommer vi att ändra alla filer i den nuvarande arbetsmappen med tillägget ".txt" och ändra dem till ".py" istället. Om du antar att du befinner dig i katalogen där du vill ändra alla filer i den aktuella katalogen till en ny filtillägg, här är syntaxen som ska användas:

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

Observera att detta använder jokerteckenet * som betyder allt och allt i den nuvarande katalogen som matchar "* .txt" filtillägget kommer att ändras. Observera också de flera instanserna av "txt" och den ena förekomsten av "py" som du skulle vilja ändra för att passa dina krav.

Allt detta gör att man skapar en enkel slinga där filer som matchar jokerteckenet och den ursprungliga filtillägget finns och sedan utför kommandot "mv" för att flytta (omdöpa) dessa filer från den ursprungliga filtillägget till bytet. Ganska enkelt, eller hur?

Låt oss ta ett annat exempel, låt oss säga att vi har en samling av bildfiler i den aktuella katalogen med filnamn som "blahblah.jpg.JPEG" men vi vill verkligen att de alla har samma filnamn som är mindre redundanta och lättare att läsa ”blazblah.jpeg”. I så fall ser syntaxen ut som följande:

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

Kommandoradsinriktningen för att ändra filtillägg är ganska snabb och filtilläggen ändras snabbt, utan varningsdialoger eller bekräftelser.

Och att upprepa igen, det här är inte att konvertera några filtyper eller ändra något annat än filnamnstillägget.

Vet om ett bättre sätt att ändra en massa filtillägg av filer i en katalog via kommandoraden? Vill bara bläddra igenom några andra bra kommandorads tips (gå här)? Låt oss veta dina tankar i kommentarerna!