Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Dateinamen mit Fragezeichen suchen...

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Software
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
aebi



Anmeldungsdatum: 02.12.1999
Beiträge: 41
Wohnort: Kastanienbaum

BeitragVerfasst am: 15. Dez 2001 18:38   Titel: Dateinamen mit Fragezeichen suchen...

Hallo Zusammen

Irgendann in einer Kopier-Aktion zwischen zwei verschiedenen Dateisystemen sind mir die Umlaute sämtlicher Dateien durch Fragezeichen ersetzt worden.
Leider sind es sehr viele Dateien über viele Verzeichnisse verteilt. Nun möchte ich alle Dateien mit Fragezeichen suchen und anzeigen. Ich habe folgende Befehle ausprobiert:
ls -R | grep ?
find ./ -name "*?*"
Aber leider funktioneren beide nicht (beim zweiten Kann ich's ja noch verstehen, aber beim ersten?!?)

Hat irgendjemand da eine Lösung?
Philipp
 
Benutzer-Profile anzeigen Private Nachricht senden

ljlkj
Gast





BeitragVerfasst am: 15. Dez 2001 21:06   Titel: Re: Dateinamen mit Fragezeichen suchen...

ich glaube der heisst:
find ./ -r *?* oder so ähnlich...
ansonsten: man find
 

Jochen
Gast





BeitragVerfasst am: 15. Dez 2001 21:38   Titel: Re: Dateinamen mit Fragezeichen suchen...

"?" ist ein Wildcardzeichen, so wie "*". Daher geht die Shell dran und verucht, dort Dateinamen einzusetzen, die dem Muster "?" entsprechen: Alle Dateien, deren Namen aus genau einem beliebigen Zeichen bestehen. Wenn Du das Fragezeichen escapest, hast Du gewonnen:
code:

find . -name "*\?*"


Alternativ wäre es möglich, dass Dir der ls-Befehl nur Fragezeichen anstelle nicht-druckbarer Zeichen anzeigt. Das passiert, wenn Du ein alias auf ls gesetzt hast, das immer die Option "-q" einschaltet. Verwende alternativ mal

\ls -balR

Der Backslash verhindert eine alias-Auflösung, die Option -b zeigt nicht-druckbare Zeichen in Oktalschreibweise an. Den Rest der Optionen müsstest Du kennen.

Viel Erfolg,

Jochen
 

aebi



Anmeldungsdatum: 02.12.1999
Beiträge: 41
Wohnort: Kastanienbaum

BeitragVerfasst am: 16. Dez 2001 21:01   Titel: Re: Dateinamen mit Fragezeichen suchen...

Hab mal "ls -bal" probiert. Ich bekomme nun immer \201 anstelle der Fragezeichen.
Also möchte ich nun alle Dateien die diese Zeichenfolge drin haben suchen...
Doch wie suche ich mit find danach?
 
Benutzer-Profile anzeigen Private Nachricht senden

Jochen
Gast





BeitragVerfasst am: 17. Dez 2001 15:11   Titel: Re: Dateinamen mit Fragezeichen suchen...

'N bisschen tricksen...

code:

find . -name "*"$(echo -e "\201")"*"


Keine weiteren Leerzeichen in das Kommando einsetzen! Die Shell ersetzt das echo-Kommando durch das Zeichen mit Oktalwert 201 und setzt es mit den Sternchen als ein Argument zur -name-Option zusammen.

Jochen
 

aebi



Anmeldungsdatum: 02.12.1999
Beiträge: 41
Wohnort: Kastanienbaum

BeitragVerfasst am: 17. Dez 2001 22:23   Titel: Re: Dateinamen mit Fragezeichen suchen...

Jetzt bin ich ihnen allen auf den Versen
Vielen vielen Dank
Philipp
 
Benutzer-Profile anzeigen Private Nachricht senden

df
Gast





BeitragVerfasst am: 19. Dez 2001 14:58   Titel: Re: Dateinamen mit Fragezeichen suchen...

diese lösung hat bei mir auch gefunzt:
find / -print | grep ?
 

Jochen
Gast





BeitragVerfasst am: 19. Dez 2001 15:09   Titel: Re: Dateinamen mit Fragezeichen suchen...

Und wird genau dann nicht mehr funzen, wenn Du im Verzeichnis, wo Du den Aufruf machst, eine Datei auftauscht, deren Name aus genau einem beliebigen Zeichen besteht, da die Shell dann das Fragezeichen durch den dateinamen ersetzt.

Immer schön quoten, wenn man mit Regulären Ausdrücken arbeitet!

Jochen
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Software Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy