Ändra åäö till aao på massa filer?

Tråden skapades och har fått 10 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Svedala
  • 2004-01-12 21:50

Jag skulle behöva svänga ihop ett litet script eller liknande för att byta ut åäö till aao på några hundra filer.
Hur gör jag enklast?

  • Medlem
  • 2004-01-12 21:51

BBEdit är kanske snabbast.

Det går säkert att göra i terminalen, och jag antar att det var så du tänkte, men kolla på BBEdit (http://www.barebones.com). Det är klart mer användarvänligt.

Rör det sig om filnamn är förstås terminalen rätt.

Men vi får väl vänta på någon unixguru för att ge oss den magiska koden.

  • Medlem
  • Svedala
  • 2004-01-12 22:38

Det är filnamnen det handlar om.
Så jag förstår inte riktigt var BBEdit kommer in i bilden...

BBEdit är kanske en lösning, det var länge sedan jag använde programmet så jag har inte riktigt koll funktionerna. Ett annat alternativ (iofs inte heller UNIX-baserat) är R-Name. Programmet har sparat mig mycket tid på långtråkiga redigeringar av filnamn.

Funkar R-Name i Panther?

  • Medlem
  • International user
  • 2004-01-13 01:01

Apple har ju till och med färdig script som fixar sådant i Apple Script Examples som installeras ihop med Apple Script. Finns ett script där man kan byta ut tecken i filnamn osv.

Äpplet faller inte långt ifrån trädet, eller vad säger man?

En sökning på "filename" på versiontracker gav ju annars en uppsjö av träffar. (No shit sherlock? )

Verkar fungera i Panther om man undviker att tabba mellan textfälten, hmm...

Fast det vore kul om någon kunde lösa detta i terminalen också...

Var är allt unixfolk... :rolleyes:

File Buddy lär annars fixa grejen i ett nafs.

Det här fungerar, men ersätter originalfilens innehåll utan att göra en backupkopia:

ruby -i -e "print $_.tr('åäö', 'aao')" filnamn

Det här skapar en ny fil med det ersatta innehållet, och lägger till filändelsen ".bak":

ruby -i.bak -e "print $_.tr('åäö', 'aao')" filnamn

Kan med fördel kombineras med find-kommandot för att traversera igenom en hel filhierarki och göra ersättningarna - här byter vi ut "åäö" till "aao" på alla filer i den underliggande kataloghierarkin som har ändelsen ".txt", och sparar de nya filerna med ändelsen ".bak":

find . -name "*.txt" -print0 | xargs -0 ruby -i.bak -e "print $_.tr('åäö', 'aao')"

Se bara till så att terminalfönstret använder sig av samma teckenkodning som filerna du vill ersätta! Annars kan man råka ersätta fel tecken.

1
Bevaka tråden