1 |
On Monday 18 October 2004 21:42, Frank Numrich wrote: |
2 |
|
3 |
> > > Wie kann ich den beim Suchen mit 'find' ein '?' angeben ohne dass |
4 |
> > > es als Wildcard verwendet wird? Das '?' mit einem '\' zu |
5 |
> > > entwerten ('\?') geht nicht. |
6 |
> > |
7 |
> > Reingefallen! B-) Du mußt es zweimal escapen, einmal für die Shell |
8 |
> > und einmal für den 'find'-Befehl: |
9 |
|
10 |
Oben steht die Frage, die ich dir beantwortet habe. Das Fullquote war |
11 |
nicht beabsichtigt. B-) |
12 |
|
13 |
> czwserv1 Reports # mkdir /tmp/test |
14 |
> czwserv1 Reports # cd /tmp/test |
15 |
> czwserv1 test # export LANG="POSIX" |
16 |
> czwserv1 test # touch /tmp/test/nämlich |
17 |
> czwserv1 test # ll |
18 |
> total 0 |
19 |
> -rw-r--r-- 1 root root 0 Oct 18 21:22 n?mlich |
20 |
> czwserv1 test # find . -iname *\\?mlich |
21 |
> czwserv1 test # find . -iname *\?mlich |
22 |
> ./nämlich |
23 |
|
24 |
Funktioniert doch. Mit dem ersten Befehl suchst du nach einem '?', was |
25 |
es aber nicht gibt, weil das '?' in Wirklichkeit ein |
26 |
wie-auch-immer-kodierter Umlaut ist. B-) |
27 |
|
28 |
Mit dem zweiten Befehl suchst du nach etwas, was mit 'mlich' endet. Das |
29 |
findet dann den Dateinamen. |
30 |
|
31 |
> czwserv1 Reports # find . -iname '*berweisungsliste-DTA*' |
32 |
> ./berweisungsliste-DTA-rpt |
33 |
|
34 |
Wenn du dagegen wissen willst, was für ein Zeichen das '?' ist, dann |
35 |
hilft dir eventuell ein |
36 |
|
37 |
perl -e 'foreach (glob("*")) { print "$_=", join(" ", map { "$_,". \ |
38 |
ord } split(//)),"\n" }' |
39 |
|
40 |
weiter. Das spuckt dir in dem aktuellem Verzeichnis die Filenamen |
41 |
inklusive Ascii-Code aus, z.B: |
42 |
|
43 |
Unbezahlbar.jpg=U,85 n,110 b,98 e,101 z,122 a,97 h,104 l,108 b,98 a,97 |
44 |
r,114 .,46 j,106 p,112 g,103 |
45 |
|
46 |
Wenn du den Ascii-Code weißt, kannst du mit Suchen+Ersetzen dann |
47 |
automatisiert deine Filenamen wiederherstellen. |
48 |
|
49 |
-- |
50 |
So long... Fuzz |
51 |
|
52 |
-- |
53 |
gentoo-user-de@g.o mailing list |