/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Matcing af filnavne med fex. ls [a-z]*
Fra : Morten Primdahl


Dato : 06-02-02 16:17


Hej. Hvor kan jeg læse om de tilgængelige operatorer
til command line pattern matching?

Fex. [a-z]* eller ^ osv.

Morten

--
Morten Primdahl Caput A/S Phone +45 70 12 24 42
System Integrator Nygade 6 Fax +45 70 11 24 42
morten@caput.com DK-1164 Kbh K http://www.caput.com/


 
 
Thorbjoern Ravn Ande~ (06-02-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 06-02-02 16:26

Morten Primdahl <morten@caput.com> writes:

> Hej. Hvor kan jeg læse om de tilgængelige operatorer
> til command line pattern matching?
>
> Fex. [a-z]* eller ^ osv.

I manualsiden til din kommandofortolker.
--
Thorbjørn Ravn Andersen
http://bigfoot.com/~thunderbear

Morten Primdahl (06-02-2002)
Kommentar
Fra : Morten Primdahl


Dato : 06-02-02 16:42

Thorbjoern Ravn Andersen wrote:

> Morten Primdahl <morten@caput.com> writes:
>
>
>>Hej. Hvor kan jeg læse om de tilgængelige operatorer
>>til command line pattern matching?
>>
>>Fex. [a-z]* eller ^ osv.
>>
>
> I manualsiden til din kommandofortolker.
>

Mm.. Andre steder end 'man bash' - fex. synes jeg
ikke at det jeg læser om ^ passer helt med flg. opførsel:

[troi]~/tmp>touch Axxxx
[troi]~/tmp>touch axxxx
[troi]~/tmp>touch Zxxxx
[troi]~/tmp>touch zxxxx
[troi]~/tmp>touch Bxxxx
[troi]~/tmp>touch bxxxx
[troi]~/tmp>ls [a-z]*
axxxx Axxxx bxxxx Bxxxx zxxxx
[troi]~/tmp>ls [^a-z]*
Zxxxx

Specielt forvirrer den selektive case insensitivity mig.

Morten

--
Morten Primdahl Caput A/S Phone +45 70 12 24 42
System Integrator Nygade 6 Fax +45 70 11 24 42
morten@caput.com DK-1164 Kbh K http://www.caput.com/


Allan Olesen (06-02-2002)
Kommentar
Fra : Allan Olesen


Dato : 06-02-02 18:09

Morten Primdahl <morten@caput.com> wrote:

>[troi]~/tmp>touch Axxxx
>[troi]~/tmp>touch axxxx
>[troi]~/tmp>touch Zxxxx
>[troi]~/tmp>touch zxxxx
>[troi]~/tmp>touch Bxxxx
>[troi]~/tmp>touch bxxxx
>[troi]~/tmp>ls [a-z]*
>axxxx Axxxx bxxxx Bxxxx zxxxx
>[troi]~/tmp>ls [^a-z]*
>Zxxxx

allan@progeny$ mkdir slet
allan@progeny$ cd slet
allan@progeny/slet$ touch axxxx
allan@progeny/slet$ touch Axxxx
allan@progeny/slet$ touch bxxxx
allan@progeny/slet$ touch Bxxxx
allan@progeny/slet$ touch zxxxx
allan@progeny/slet$ touch Zxxxx
allan@progeny/slet$ ls [a-z]*
axxxx bxxxx zxxxx

Intet problem her.

>Specielt forvirrer den selektive case insensitivity mig.

For mig ser den ikke spor selektiv ud. Jeg tror nærmere, at din bash
af en eller anden grund kører med rækkefølgen aAbBcCdD...xXyYzZ i
stedet for abc...xyzABC...XYZ.


--
Allan Olesen, Lunderskov

"UNIX er overflødigt." - Lars P. Fischer

Allan Olesen (06-02-2002)
Kommentar
Fra : Allan Olesen


Dato : 06-02-02 18:11

Morten Primdahl <morten@caput.com> wrote:

>Specielt forvirrer den selektive case insensitivity mig.

Glemte lige:
Hvad siger 'bash --version'? Min siger:

allan@progeny/slet$ bash --version
bash --version
GNU bash, version 2.04.0(1)-release (i386-pc-linux-gnu)
Copyright 1999 Free Software Foundation, Inc.


--
Allan Olesen, Lunderskov

"UNIX er overflødigt." - Lars P. Fischer

frank damgaard (06-02-2002)
Kommentar
Fra : frank damgaard


Dato : 06-02-02 18:44

Morten Primdahl <morten@caput.com> wrote:

>> I manualsiden til din kommandofortolker.

> Mm.. Andre steder end 'man bash' - fex. synes jeg
> ikke at det jeg læser om ^ passer helt med flg. opførsel:

> [troi]~/tmp>ls [a-z]*
> axxxx Axxxx bxxxx Bxxxx zxxxx
> [troi]~/tmp>ls [^a-z]*
> Zxxxx

Jeg tror det må være noget opsætning eller compiletime dims.
(bash bugs?)

hos mig giver det med GNU bash, version 2.03.0(1)-release (i386-suse-linux)
og en gammel NU bash, version 2.01.1(1)-release (i486-pc-linux-gnu):

Axxxx Bxxxx Zxxxx axxxx bxxxx zxxxx
ls [a-z]*
axxxx bxxxx zxxxx
ls [^a-z]*
Axxxx Bxxxx Zxxxx

Samme resultat med zsh, csh og tcsh.

Men ksh og en ældre tcsh 6.08-1 giver "forkerte/andre" resultater.

Prøv også i bash med "shopt -s nocaseglob" inden du laver "ls []"

--
Frank Damgaard |


Thorbjoern Ravn Ande~ (07-02-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 07-02-02 02:54

Morten Primdahl <morten@caput.com> writes:

> Mm.. Andre steder end 'man bash' - fex. synes jeg
> ikke at det jeg læser om ^ passer helt med flg. opførsel:
>
> [troi]~/tmp>touch Axxxx
> [troi]~/tmp>touch axxxx
> [troi]~/tmp>touch Zxxxx
> [troi]~/tmp>touch zxxxx
> [troi]~/tmp>touch Bxxxx
> [troi]~/tmp>touch bxxxx
> [troi]~/tmp>ls [a-z]*
> axxxx Axxxx bxxxx Bxxxx zxxxx
> [troi]~/tmp>ls [^a-z]*
> Zxxxx
>
> Specielt forvirrer den selektive case insensitivity mig.

Foerste gang beder du om alle filer som starter med et tegn fra a til z.

Anden gang beder du om alle filer som starter med et tegn, som _ikke_ er et tegn fra a til z.

--
Thorbjørn Ravn Andersen
http://bigfoot.com/~thunderbear

Thorbjoern Ravn Ande~ (07-02-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 07-02-02 02:56

Thorbjoern Ravn Andersen <thunderbear@bigfoot.com> writes:

> > Specielt forvirrer den selektive case insensitivity mig.
>
> Foerste gang beder du om alle filer som starter med et tegn fra a til z.
>
> Anden gang beder du om alle filer som starter med et tegn, som _ikke_ er et tegn fra a til z.

Jeg kan ikke laese indenad. Beklager.
--
Thorbjørn Ravn Andersen
http://bigfoot.com/~thunderbear

Peter Dalgaard BSA (07-02-2002)
Kommentar
Fra : Peter Dalgaard BSA


Dato : 07-02-02 07:42

Morten Primdahl <morten@caput.com> writes:

> [troi]~/tmp>ls [a-z]*
> axxxx Axxxx bxxxx Bxxxx zxxxx
> [troi]~/tmp>ls [^a-z]*
> Zxxxx
>
> Specielt forvirrer den selektive case insensitivity mig.

Argh. i18n kan være en plage. Sorteringsrækkefølgen er i en_US og
adskillige andre localer

aAbBcC.....zZ

dvs a-z indeholder store og små bogstaver *undtagen* Z. Samme sag er
grunden til at dotfiler ikke længere sorteres først i "ls -a".

LANG=C ls [a-z]*

burde hjælpe.

--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

Morten Primdahl (06-02-2002)
Kommentar
Fra : Morten Primdahl


Dato : 06-02-02 16:52

Thorbjoern Ravn Andersen wrote:

> Morten Primdahl <morten@caput.com> writes:
>
>
>>Hej. Hvor kan jeg læse om de tilgængelige operatorer
>>til command line pattern matching?
>>
>>Fex. [a-z]* eller ^ osv.
>>
>
> I manualsiden til din kommandofortolker.
>


[Beklager hvis denne post kommer 2 gange, Mozilla er lidt underlig pt.]


Mm.. Andre steder end 'man bash'? - fex. synes jeg
ikke at det jeg læser om ^ passer helt med flg. opførsel:

[troi]~/tmp>touch Axxxx
[troi]~/tmp>touch axxxx
[troi]~/tmp>touch Zxxxx
[troi]~/tmp>touch zxxxx
[troi]~/tmp>touch Bxxxx
[troi]~/tmp>touch bxxxx
[troi]~/tmp>ls [a-z]*
axxxx Axxxx bxxxx Bxxxx zxxxx
[troi]~/tmp>ls [^a-z]*
Zxxxx

Specielt forvirrer den selektive case insensitivity mig.

Morten

--
Morten Primdahl Caput A/S Phone +45 70 12 24 42
System Integrator Nygade 6 Fax +45 70 11 24 42
morten@caput.com DK-1164 Kbh K http://www.caput.com/


Peter Makholm (06-02-2002)
Kommentar
Fra : Peter Makholm


Dato : 06-02-02 19:42

Morten Primdahl <morten@caput.com> writes:

> [troi]~/tmp>ls [a-z]*
> axxxx Axxxx bxxxx Bxxxx zxxxx
> [troi]~/tmp>ls [^a-z]*
> Zxxxx

Desvære er der nogen der har været så inkompetente og pludselig fået
den lyse ide at i den slags tilfælde sorteres der a, A, b, B,...

At det ødelægger alle scripts og alt muligt andet er selvfølgelig
ligemeget, bare man har lov til at være inkompetent.


Vi diskuterede det engang på en sslug-liste for meget lang tid
siden. Hvis bare jeg viste hvordan man skulle finde det igen.

--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix

Klaus Alexander Seis~ (06-02-2002)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 06-02-02 20:04

Peter Makholm skrev:

>> [troi]~/tmp>ls [a-z]*
>> axxxx Axxxx bxxxx Bxxxx zxxxx
>> [troi]~/tmp>ls [^a-z]*
>> Zxxxx
>
> Desvære er der nogen der har været så inkompetente og pludselig
> fået den lyse ide at i den slags tilfælde sorteres der a, A, b,
> B,...

Ja, og jeg var ved at blive vanvittig en overgang fordi jeg syntes at
bash sorterede hulter til bulter. Jeg kendte ikke (og har endnu ikke
prøvet) nocaseglob, men løste problemet [nogenlunde] ved at sætte
nogle locale-variable:

LANG=da_DK
LC_MESSAGES=en_GB
LC_TIME=en_GB
LC_COLLATE=C

Det er vist mest den der LC_COLLATE der har betydning for sorteringen,
men jeg havde osse brug for de andre fordi jeg ønsker at programmerne
snakker engelsk (har ikke temperament til at kigge på "Ingen sådan fil
eller filkatalog" og lignende tåbelige oversættelser), men at der er
mulighed for at bruge ÆØÅ m.m.


// Klaus

--
><>    vandag, môre, altyd saam

Peter Makholm (06-02-2002)
Kommentar
Fra : Peter Makholm


Dato : 06-02-02 19:53

Allan Olesen <aolesen@post3.tele.dk> writes:

> For mig ser den ikke spor selektiv ud. Jeg tror nærmere, at din bash
> af en eller anden grund kører med rækkefølgen aAbBcCdD...xXyYzZ i
> stedet for abc...xyzABC...XYZ.

Det forlyder i mit andet vindue at du måske skal se på 'shopt
nocaseglob'. (Læs den rette del af manualen til bash)


--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix

Allan Olesen (07-02-2002)
Kommentar
Fra : Allan Olesen


Dato : 07-02-02 18:51

Peter Makholm <peter@makholm.net> wrote:

>Det forlyder i mit andet vindue at du måske skal se på 'shopt
>nocaseglob'. (Læs den rette del af manualen til bash)

Øeh, er det ikke Morten Primdahl, der skal det?
Min bash ser jo ud til at gøre det rigtigt.

>--
>Når folk spørger mig, om jeg er nørd,

Skal vi fejre det kommende jubilæum på en eller anden måde?

http://groups.google.com/groups?q=%22bliver+jeg+altid+ilde+til+mode%2C+og+svarer+lidt+undskyldende%22&hl=en&btnG=Google+Search


--
Allan Olesen, Lunderskov

"UNIX er overflødigt." - Lars P. Fischer

Peter Makholm (07-02-2002)
Kommentar
Fra : Peter Makholm


Dato : 07-02-02 19:43

Allan Olesen <aolesen@post3.tele.dk> writes:

> Skal vi fejre det kommende jubilæum på en eller anden måde?

Nåja, vi glemte helt at holde jubilæum for din signatur.

http://groups.google.com/groups?hl=en&selm=8su8jc%245n9%243%40news.inet.tele.dk

--
Når folk spørger mig, om jeg er nørd, bliver jeg altid ilde til mode
og svarer lidt undskyldende: "Nej, jeg bruger RedHat".
-- Allan Olesen på dk.edb.system.unix

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408895
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste