|
| 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 (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
| |
|
|