Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ext3-problem: Der er skrevet filnavne med både ISO-8859-1 og utf8

6 views
Skip to first unread message

Lars Kongshøj

unread,
May 30, 2012, 10:36:24 AM5/30/12
to
Jeg har et problem: Jeg har et ext3-filsystem, hvor der af forskellige
historiske årsager er skrevet en del filnavne med ISO-8859-1 og andre
med utf8. Det skulle ikke ikke undre mig, hvis man også kan finde
Windows-1252 og CP865.

Findes der et program, man kan lade løbe disken igennem og rette
filnavnene op?

Mvh. Lars

Thorbjørn Ravn Andersen, 20120530

unread,
May 30, 2012, 1:56:25 PM5/30/12
to
Kan du ikke selv strikke et Perl script sammen der spytter et script med
mv-kommandoer ud?

--
Thorbjørn Ravn Andersen "... plus... Tubular Bells!"

Peter Makholm

unread,
May 30, 2012, 3:49:54 PM5/30/12
to
Lars Kongshøj <lars_k...@hotmail.com> writes:

> Jeg har et problem: Jeg har et ext3-filsystem, hvor der af forskellige
> historiske årsager er skrevet en del filnavne med ISO-8859-1 og andre
> med utf8. Det skulle ikke ikke undre mig, hvis man også kan finde
> Windows-1252 og CP865.

Det problem kan jeg godt genkende, men jeg løser det lidt adhoc da der
også ofte er henvisninger der skal passe sammen med de aktuelle
filnavne. Jeg oplever også navne der er dobbelt utf8-kodet.

Derfor har jeg ikke ledt efter noget færdigt program, men det burde være
forholdsvis let at skrive. Det kan let deles op i to delproblemer:

* Givet et filnavn, konverter det til en normalform.
* Gennemløb filsystemet.

Det sidste er "bare" noget ala 'find / -exec normalize_filename {} \;'

Det første er derimod et lidt mere besværligt problem da du skal gætte
på hvilket tegnsæt filnavnet består af. Den bedste heuristik jeg har
fundet er bare at prøve at dekode det som utf8 og hvis det fejler så
bare antage at det er iso-8859-15.

Det kræver lige 10 linjer perl. Jeg burde hurtigt kunne finde det frem
når jeg kommer på $work i morgen.

//Makholm

Michael Rasmussen

unread,
May 30, 2012, 5:00:48 PM5/30/12
to
On Wed, 30 May 2012 21:49:54 +0200
Peter Makholm <pe...@makholm.net> wrote:

> bare antage at det er iso-8859-15.
>
Er/var default tegnsæt for filsystemet ikke Latin, alias iso-8859-1?

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.

Michael Rasmussen

unread,
May 30, 2012, 5:04:29 PM5/30/12
to
On Wed, 30 May 2012 21:49:54 +0200
Peter Makholm <pe...@makholm.net> wrote:

>
> Det sidste er "bare" noget ala 'find / -exec normalize_filename {} \;'
>
Jeg skulle mene følgende var mere sikkert:
find / -type f -print0 | xargs -0 normalize_filename

Grunden til -type f er, at jeg ikke er sikker på, man blot kan ændre
navnet på en folder ukritisk.

Thorbjørn Ravn Andersen, 20120531

unread,
May 30, 2012, 6:15:29 PM5/30/12
to
Michael Rasmussen <m...@miras.org> writes:

> On Wed, 30 May 2012 21:49:54 +0200
> Peter Makholm <pe...@makholm.net> wrote:
>
>>
>> Det sidste er "bare" noget ala 'find / -exec normalize_filename {} \;'
>>
> Jeg skulle mene følgende var mere sikkert:
> find / -type f -print0 | xargs -0 normalize_filename
>
> Grunden til -type f er, at jeg ikke er sikker på, man blot kan ændre
> navnet på en folder ukritisk.

Det kan man godt. Man skal bare have omdøbt alle _filerne_ først.

Michael Rasmussen

unread,
May 30, 2012, 6:33:44 PM5/30/12
to
On Thu, 31 May 2012 00:15:29 +0200
nospam000...@gmail.com (Thorbjørn Ravn Andersen, 20120531) wrote:

>
> Det kan man godt. Man skal bare have omdøbt alle _filerne_ først.
Derfor:
find / -type f -print0 | xargs -0 normalize_filename
find / -type d -print0 | xargs -0 normalize_filename

Peter Makholm

unread,
May 31, 2012, 3:41:40 AM5/31/12
to
Michael Rasmussen <m...@miras.org> writes:

> On Wed, 30 May 2012 21:49:54 +0200
> Peter Makholm <pe...@makholm.net> wrote:
>
>> bare antage at det er iso-8859-15.
>>
> Er/var default tegnsᅵt for filsystemet ikke Latin, alias iso-8859-1?

Filsystemet er temlig ligeglad med tegnsᅵt. Sᅵ nej, der var ikke noget
default tegnsᅵt. Det eneste filsystemet interesserer sig for er tegnene
0x00 og 0x2F (/).

Der er otte tegn der er forskellige mellem iso-8859-1 (aka latin-*1*) og
iso-8859-15 (aka latin-9). Min fornemmelse siger at -15 er maginalt mere
brugbart.


//Makholm

Peter Makholm

unread,
May 31, 2012, 3:51:34 AM5/31/12
to
Michael Rasmussen <m...@miras.org> writes:

> On Wed, 30 May 2012 21:49:54 +0200
> Peter Makholm <pe...@makholm.net> wrote:
>
>>
>> Det sidste er "bare" noget ala 'find / -exec normalize_filename {} \;'
>>
> Jeg skulle mene følgende var mere sikkert:
> find / -type f -print0 | xargs -0 normalize_filename

Min find(1) gør det rigtige, men det er selvfølgelig fornuftigt at kunne
kalde normalize_filename med flere filer ad gangen. Så enten din xargs
eller

find -type f -exec normalize_filename {} +

//Makholm

Niels Baggesen

unread,
May 31, 2012, 5:02:52 AM5/31/12
to
Michael Rasmussen <m...@miras.org> wrote:
> On Thu, 31 May 2012 00:15:29 +0200
> nospam000...@gmail.com (Thorbjørn Ravn Andersen, 20120531) wrote:

> >
> > Det kan man godt. Man skal bare have omdøbt alle _filerne_ først.
> Derfor:
> find / -type f -print0 | xargs -0 normalize_filename
> find / -type d -print0 | xargs -0 normalize_filename

eller
find / -depth -print0

/Niels

--
Niels Baggesen -- @home -- Århus -- Denmark -- ni...@baggesen.net
The purpose of computing is insight, not numbers -- R W Hamming

Lars Kongshøj

unread,
May 31, 2012, 2:55:02 PM5/31/12
to
Hej Peter - jo tak, jeg ville da gerne have dit perl-script at gå ud fra
- jeg har aldrig rigtigt fået lært perl, så jeg ville nok have skrevet
det i awk+shell.

Og tak til jer andre for input i tråden.

Mvh. Lars

Lars Kongshøj

unread,
May 31, 2012, 2:57:17 PM5/31/12
to
Den 31-05-2012 00:15, Thorbjørn Ravn Andersen, 20120531 skrev:
> Michael Rasmussen<m...@miras.org> writes:
>
>> On Wed, 30 May 2012 21:49:54 +0200
>> Peter Makholm<pe...@makholm.net> wrote:
>>
>>>
>>> Det sidste er "bare" noget ala 'find / -exec normalize_filename {} \;'
>>>
>> Jeg skulle mene følgende var mere sikkert:
>> find / -type f -print0 | xargs -0 normalize_filename
>>
>> Grunden til -type f er, at jeg ikke er sikker på, man blot kan ændre
>> navnet på en folder ukritisk.
>
> Det kan man godt. Man skal bare have omdøbt alle _filerne_ først.

Hvorfor? Det kan vel kun være for at gøre algoritmen simpel, der kan vel
ikke være noget teknisk problem?

Noget andet er at man nok ligge skal tænke sig om ved evt. sym-links.

Mvh. Lars

Thorbjørn Ravn Andersen, 20120531

unread,
May 31, 2012, 3:37:03 PM5/31/12
to
Lars Kongshøj <lars_k...@hotmail.com> writes:

>> Det kan man godt. Man skal bare have omdøbt alle _filerne_ først.
>
> Hvorfor? Det kan vel kun være for at gøre algoritmen simpel, der kan
> vel ikke være noget teknisk problem?

Naturligvis _skal_ man ikke, men du kan jo more dig med at finde ud af
hvordan du let vil programmere at du finder ud af at

/a/b/c.txt skal omdøbes til /b/c/d.txt
/a/b/e.txt skal omdøbes til /b/c/f.txt

hvis der er masser af andre ting i /a og /a/b.

Slib _med_ årene.

> Noget andet er at man nok ligge skal tænke sig om ved evt. sym-links.

Det er generelt en god ide.

Lars Kongshøj

unread,
May 31, 2012, 3:40:34 PM5/31/12
to
Den 31-05-2012 21:37, Thorbjørn Ravn Andersen, 20120531 skrev:
> Lars Kongshøj<lars_k...@hotmail.com> writes:
>
>>> Det kan man godt. Man skal bare have omdøbt alle _filerne_ først.
>>
>> Hvorfor? Det kan vel kun være for at gøre algoritmen simpel, der kan
>> vel ikke være noget teknisk problem?
>
> Naturligvis _skal_ man ikke, men du kan jo more dig med at finde ud af
> hvordan du let vil programmere at du finder ud af at
>
> /a/b/c.txt skal omdøbes til /b/c/d.txt
> /a/b/e.txt skal omdøbes til /b/c/f.txt
>
> hvis der er masser af andre ting i /a og /a/b.
>
> Slib _med_ årene.

Godt, så er vi jo enige.

>> Noget andet er at man nok ligge skal tænke sig om ved evt. sym-links.
>
> Det er generelt en god ide.

Enige igen - kan vi ikke finde noget at have en polemik om, ellers
bliver det for kedeligt ;-)

/Lars

Thorbjørn Ravn Andersen, 20120531

unread,
May 31, 2012, 3:45:13 PM5/31/12
to
Lars Kongshøj <lars_k...@hotmail.com> writes:

> Enige igen - kan vi ikke finde noget at have en polemik om, ellers
> bliver det for kedeligt ;-)

Mon ikke vi andre kan rotte os sammen og høvle lidt på dit
tøsedrengevalg af operativsystem?

Eller havde du noget andet i tankerne?

Pettersen,Roald

unread,
May 31, 2012, 5:12:24 PM5/31/12
to
convmv ?

Lars Kongshøj

unread,
Jun 1, 2012, 6:31:02 AM6/1/12
to
Den 31-05-2012 21:45, Thorbjørn Ravn Andersen, 20120531 skrev:
> Lars Kongshøj<lars_k...@hotmail.com> writes:
>
>> Enige igen - kan vi ikke finde noget at have en polemik om, ellers
>> bliver det for kedeligt ;-)
>
> Mon ikke vi andre kan rotte os sammen og høvle lidt på dit
> tøsedrengevalg af operativsystem?

Tøsedrengevalg? Er der nu noget galt med Linux. Din nyhedslæser påstår
at du bruger Darwin - skal det nu være smart? Hvem vil du rotte dig
sammen med? Darwin er en hobby, ikke et OS. Jeg satser på det afprøvede!

Mvh. Lars

Lars Kongshøj

unread,
Jun 1, 2012, 6:43:43 AM6/1/12
to
> convmv ?

Tak, den vil jeg se på.

Mvh. Lars

Thorbjørn Ravn Andersen, 20120601

unread,
Jun 1, 2012, 10:26:59 AM6/1/12
to
Lars Kongshøj <lars_k...@hotmail.com> writes:

> Den 31-05-2012 21:45, Thorbjørn Ravn Andersen, 20120531 skrev:
>> Lars Kongshøj<lars_k...@hotmail.com> writes:
>>
>>> Enige igen - kan vi ikke finde noget at have en polemik om, ellers
>>> bliver det for kedeligt ;-)
>>
>> Mon ikke vi andre kan rotte os sammen og høvle lidt på dit
>> tøsedrengevalg af operativsystem?
>
> Tøsedrengevalg? Er der nu noget galt med Linux. Din nyhedslæser påstår

Der er mange, mange forskellige varianter af Linux. Det er lidt lige
som med kristendom - der er meget stor forskel på om man er græskkatolsk
eller protestant.

> at du bruger Darwin - skal det nu være smart? Hvem vil du rotte dig
> sammen med? Darwin er en hobby, ikke et OS. Jeg satser på det
> afprøvede!

Darwin er GNU'sk for OS X. Tror ikke du finder mere velafprøvet
Unix-variant...

Og min nyhedslæser virker over en ssh-forbindelse. Ikke alt det der
Thunderbird-musepjat!

Lars Konghøj

unread,
Jun 1, 2012, 1:53:36 PM6/1/12
to
nospam000...@gmail.com (=?utf-8?Q?Thorbj=C3=B8rn?= Ravn Andersen, 20120601) writes:

>Lars Kongshøj <lars_k...@hotmail.com> writes:

>> Den 31-05-2012 21:45, Thorbjørn Ravn Andersen, 20120531 skrev:
>>> Lars Kongshøj<lars_k...@hotmail.com> writes:
>>>
>>>> Enige igen - kan vi ikke finde noget at have en polemik om, ellers
>>>> bliver det for kedeligt ;-)
>>>
>>> Mon ikke vi andre kan rotte os sammen og høvle lidt pÃĨ dit
>>> tøsedrengevalg af operativsystem?
>>
>> Tøsedrengevalg? Er der nu noget galt med Linux. Din nyhedslÃĻser pÃĨstÃĨr

>Der er mange, mange forskellige varianter af Linux. Det er lidt lige
>som med kristendom - der er meget stor forskel pÃĨ om man er grÃĻskkatolsk
>eller protestant.

Ja, Linux er en fleksibel kerne, der kan konfigureres og patches som man vil. Oven på kernen er der frit valg af programmer, brugergrænseflader mv. Så Linux kan tilpasses til ethvert formål.

På OS X kan man oversætte mange Unix-programmer. I praksis er man bundet til en håbløs brugergrænseflade, Aqua. Man kan også _med nød og næppe_ køre X-programmer på Aqua.

>> at du bruger Darwin - skal det nu vÃĻre smart? Hvem vil du rotte dig
>> sammen med? Darwin er en hobby, ikke et OS. Jeg satser pÃĨ det
>> afprøvede!

>Darwin er GNU'sk for OS X. Tror ikke du finder mere velafprøvet
>Unix-variant...


Godt at du nævner religion ovenfor, dette er jo mere religionskrig end forstand.

På bruger-siden er Mac de bærbares svar på Gucci i universitets kantiner. Den betjenes af computer-analfabeter, der bare skal bruge en web-browser og lidt tekstbehandling.

Linuxes desktop-brugere er typisk folk, der ved hvad de har med at gøre og kan indsende kvalificerede fejlrapporter og patches.

Så mere gennemprøvet blandt almindelige brugere.

På server-siden står det lidt bedre til, da mange af programmerne er lånt fra den veletablerede Unix-verden.

Men Linux, Solaris m.fl. har mange flere servertimer på bagen end OS X.

>Og min nyhedslÃĻser virker over en ssh-forbindelse. Ikke alt det der
>Thunderbird-musepjat!

Jeg har vist tidligere været efter dig fordi du ikke bruger nn.
Din Gnus bygger pÃĨ det forÃĻldede OS Emacs.

Men under Linux kan man oversÃĻtte stort set alle Linux-programmer, sÃĨ nÃĨr du bliver voksen og dropper Emacs, kan du jo vÃĻlge vigor som editor, sÃĨ vÃĻlger jeg den ÃĻgte vi og ikke Emacs-wanna-be'en vim. Jeg ved ikke om vi og vigor overhovedet kan oversÃĻttes pÃĨ OS X.

Mvh. Lars
PS: SlÃĨ den! Og god weekend ;-)
0 new messages