Re: Mal wieder find...

2004-03-03 Diskussionsfäden Matthias Kluwe
Hallo!

On Andreas Schmidt wrote:
 On 2004.02.29 15:02, Matthias Kluwe wrote:
  
  Hierfür könnte (ohne das Problem genau zu kennen) evtl.
  
  for f in $(find . -maxdepth 1 -type f)
  do
  cat $f | formail -s procmail
  mv mist $f.new
  done
  
  eine Lösung sein.
 
 Nicht wirklich. Damit fange ich mir dasselbe Problem wieder ein, dass 
 
 ich mit find umgehen wollte: Dateinamen mit Leerzeichen im Namen
 werden  gesplittet:
 for f in $(find . -maxdepth 1 -type f); do echo $f; done
 ./header
 ./Debian
 News
 ./Debian
 User

Wenn darum geht:
$ for f in $(find); do echo $f; done
.
./Foo
Bar

aber:
$ find | (while read f; do echo $f; done)
.
./Foo Bar

Gruß,
Matthias


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-03-02 Diskussionsfäden Michelle Konzack
Am 2004-02-29 11:30:21, schrieb Andreas Schmidt:
Hallo,

mein urspruengliches find-Problem ist zwar mittlerweile geloest worden;  
allerdings haenge ich jetzt wieder fest und bleibe daher gleich hier im  
Thread. :-)

prune () { cat $1 | formail -s procmail; mv mist $1.new; }; export  
prune; find . -maxdepth 1 -type f -exec prune {} \;
find: prune ./header: No such file or directory

Datei anlegen: 

--
#!/bin/bash
cat $1 | formail -s procmail
mv mist $1.new
--

aufrufen mit:

find . -maxdepth 1 -type f -exec prune {} ';

Und spaß haben

Andreas

Greetings
Michelle

-- 
Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ 


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-29 Diskussionsfäden Andreas Schmidt
On 2004.02.17 17:27, Michelle Konzack wrote:
Am 2004-02-17 09:09:33, schrieb Andreas Schmidt:

es eher so dahin. :-) Habe gerade letzte Woche meine mbox dieser
Liste
bereinigt; alles von Juli bis Dezember letzten Jahres separat
gespeichert (uebrigens mit mutt) und gezippt. Nachdem die mbox von  
ca

18,000 Mails/110 MB auf ein Drittel geschrumpft ist, kann ich auch
mal
wieder was sortieren lassen, ohne gleich die Zwangspause mit Kaffee
kaufen, kochen und trinken ausfuellen zu muessen. :-)
Nimm formail und filter die Received-Header weg. Die braucht man
sowieso
nicht mehr. Das spart bei 18.000 Mails garantiert 25 MBytes. Habe ich
vor ein paar Tagen mit meiner Workstation gemacht und 200 MByte im
Maildir eingesparrt.
Das hab ich mittlerweile auch hinbekommen, hat wirklich ordentlich  
Platz gespart. Als naechstes steht vielleicht auch noch etwas in der  
Art von Logrotate an, um die entsprechenden Mailboxen automatisch klein  
zu halten...

Wo wir aber schon einmal so weit OT sind: von mutt war ich (alter
elm-
user) besonders wegen des message threading begeistert, und schnell
ist
er ja auch einigermassen.  Aber wie verhaelt sich das dem Handling
mehrerer Mailboxen? Bisher habe ich zum Durchsehen meiner  
Spamablagen immer jeden Folder per mutt -f in einer neuen Instanz  
geoeffnet.
Sicherlich gibt es da auch einfachere Moeglichkeiten, oder?

Mit 'c' wechselst Du die Mailbox und wenn Du danach ein '?' drckst,
siehste alle Deine mailboxem im Verzeichnis.
Aber du kannst auch 'mailboxes' verwenden...
Z.B.
#~/.muttrc
mailboxes +INBOX +NIGSCAM +SOBER +SWEN \
+michelle +debian-user-german +mutt-users
Funktioniert wunderbar, danke!

Schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-29 Diskussionsfäden Andreas Schmidt
Hallo,

mein urspruengliches find-Problem ist zwar mittlerweile geloest worden;  
allerdings haenge ich jetzt wieder fest und bleibe daher gleich hier im  
Thread. :-)

Mit -exec oder auch -print0 | xargs kann man ja veranlassen, dass fuer  
die von find gefundene Datei ein Kommando ausgefuehrt wird. Ich wollte  
jetzt gleich mehrere Kommandos ausfuehren; habe zwar allerlei  
Verrenkungen gemacht, aber irgendwie funktioniert das alles nicht so,  
wie ich es mir vorgestellt habe. Ist das ueberhaupt moeglich?

Im konkreten Fall ging es darum, in einem Verzeichnis aus allen  
Mailboxen bestimmte Header zu entfernen. Ich hatte dafuer eine  
provisorische ~/.procmailrc angelegt (da die Mails ja schon sortiert  
waren, konnten die sonst faelligen Filter entfallen) :

:0f
| formail -f -I Received: -I Envelope-to: -I Delivered-To:
:0
mist
Ich wollte jetzt fuer jede gefundene Mailbox procmail aufrufen und die  
Datei mist umbenennen:

find . -maxdepth 1 -type f -exec cat {} | formail -s procmail; mv mist  
{}.new \;

Hier gibt es dann die Fehlermeldung:
find: cat ./header | formail -s procmail; mv mist ./header.new: No such  
file or directory

find . -maxdepth 1 -type f -exec cat \{\} | formail -s procmail; mv  
mist \{\}.new \;

ergibt
find: missing argument to `-exec'
mv: missing file argument
Auch nach bash-Regeln gueltige Listenkonstrukte funktionieren nicht:
find . -maxdepth 1 -type f -exec { cat {} | formail -s procmail; mv  
mist {}.new; } \;
bash: syntax error near unexpected token `}'

Und
find . -maxdepth 1 -type f -exec \{ cat {} | formail -s procmail; mv  
mist {}.new; \} \;
find: missing argument to `-exec'
mv: cannot stat `mist': No such file or directory
bash: }: command not found

Sowie:
find . -maxdepth 1 -type f -exec { cat {} | formail -s procmail; mv  
mist {}.new; } \;
find: { cat ./header | formail -s procmail; mv mist ./header.new; }: No  
such file or directory

Darauf habe ich dann eine Shell-Funktion definiert:
prune() {
   cat $1 | formail -s procmail
   mv mist $1.new
}
Der Aufruf dieser Funktion aus find funktioniert nicht:
find . -maxdepth 1 -type f -exec prune {} \;
find: prune: No such file or directory
Das liegt wohl daran, dass -exec eine eigene Shell oeffnet, in der  
prune nicht definiert ist. Also im naechsten Schritt:

prune () { cat $1 | formail -s procmail; mv mist $1.new; }; export  
prune; find . -maxdepth 1 -type f -exec prune {} \;
find: prune ./header: No such file or directory

Jetzt bin ich mit meinem Latein am Ende und dankbar fuer jeden Hinweis. :-)

Schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-29 Diskussionsfäden Matthias Kluwe
Hallo!

On ? Andreas Schmidt wrote:
 [...]
 
 Ich wollte jetzt fuer jede gefundene Mailbox procmail aufrufen und die
  
 Datei mist umbenennen:
 
 find . -maxdepth 1 -type f -exec cat {} | formail -s procmail; mv
 mist  {}.new \;

Hierfür könnte (ohne das Problem genau zu kennen) evtl.

for f in $(find . -maxdepth 1 -type f)
do
cat $f | formail -s procmail
mv mist $f.new
done

eine Lösung sein.

Gruß,
Matthias


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-29 Diskussionsfäden Jan Trippler
Am Sonntag, 29. Februar 2004 11:30 schrieb Andreas Schmidt:
[...]
 Im konkreten Fall ging es darum, in einem Verzeichnis aus allen
 Mailboxen bestimmte Header zu entfernen. Ich hatte dafuer eine
 provisorische ~/.procmailrc angelegt (da die Mails ja schon
 sortiert

 waren, konnten die sonst faelligen Filter entfallen) :
 :0f
 :
 | formail -f -I Received: -I Envelope-to: -I Delivered-To:
 |
 :0
 mist

Das schiebt die Mails doch in ein Postfach mist - und der liegt im 
Verzeichnis $MAIL, oder?

 Ich wollte jetzt fuer jede gefundene Mailbox procmail aufrufen
 und die Datei mist umbenennen:

 find . -maxdepth 1 -type f -exec cat {} | formail -s procmail;
 mv mist {}.new \;

 Hier gibt es dann die Fehlermeldung:
 find: cat ./header | formail -s procmail; mv mist ./header.new:
 No such file or directory

s. o. - wahrscheinlich wird mist im aktuellen Verzeichnis nicht 
gefunden.

 find . -maxdepth 1 -type f -exec cat \{\} | formail -s procmail;
 mv mist \{\}.new \;

 ergibt
 find: missing argument to `-exec'
 mv: missing file argument

Jepp - da Du die Befehlefolge nicht quotest, wird nur der Teil:
cat \{\} für exec erkannt - und da fehlt eben das \; am Ende. Die 
Pipe gehört hier schon nicht mehr zum find.

[...]
 Darauf habe ich dann eine Shell-Funktion definiert:
 prune() {
 cat $1 | formail -s procmail
 mv mist $1.new
 }

 Der Aufruf dieser Funktion aus find funktioniert nicht:
 find . -maxdepth 1 -type f -exec prune {} \;
 find: prune: No such file or directory

 Das liegt wohl daran, dass -exec eine eigene Shell oeffnet, in
 der prune nicht definiert ist. Also im naechsten Schritt:

Sehe ich auch so.


 prune () { cat $1 | formail -s procmail; mv mist $1.new; };
 export prune; find . -maxdepth 1 -type f -exec prune {} \;
 find: prune ./header: No such file or directory

Kann es sein, dass der Konstrukt prune {} als _ein_ Kommando 
aufgefasst wird? Versuchs hier doch mal ohne  - so wie oben.

 Jetzt bin ich mit meinem Latein am Ende und dankbar fuer jeden
 Hinweis. :-)

Ich glaube. mit einem Shell-Script statt einer Funktion hättest Du 
weniger Sorgen.

Jan


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-29 Diskussionsfäden Andreas Schmidt
On 2004.02.29 16:10, Jan Trippler wrote:
Am Sonntag, 29. Februar 2004 11:30 schrieb Andreas Schmidt:
[...]
 Im konkreten Fall ging es darum, in einem Verzeichnis aus allen
 Mailboxen bestimmte Header zu entfernen. Ich hatte dafuer eine
 provisorische ~/.procmailrc angelegt (da die Mails ja schon
 sortiert

 waren, konnten die sonst faelligen Filter entfallen) :
 :0f
 :
 | formail -f -I Received: -I Envelope-to: -I Delivered-To:
 |
 :0
 mist
Das schiebt die Mails doch in ein Postfach mist - und der liegt im
Verzeichnis $MAIL, oder?
Das ist es nicht...hab eben mal ein touch /var/mail/mist gemacht,  
aendert aber nichts an der Fehlermeldung. Ebensowenig eine Aenderung  
des Pfades zu mist ins aktuelle Verzeichnis...

 Ich wollte jetzt fuer jede gefundene Mailbox procmail aufrufen
 und die Datei mist umbenennen:

 find . -maxdepth 1 -type f -exec cat {} | formail -s procmail;
 mv mist {}.new \;

 Hier gibt es dann die Fehlermeldung:
 find: cat ./header | formail -s procmail; mv mist ./header.new:
 No such file or directory
s. o. - wahrscheinlich wird mist im aktuellen Verzeichnis nicht
gefunden.
Das ist richtig. Habe jetzt mal am Anfang der .procmailrc VERBOSE=on  
gestellt und Logging aktiviert. Dann den Teil mit mv weggelassen:
find . -maxdepth 1 -type f -exec cat {} | formail -s procmail \;
find: cat ./header | formail -s procmail: No such file or directory

Die Logdatei wird nicht angelegt, was darauf hindeutet, dass formail  
ueberhaupt nicht ausgefuehrt wird. Kann es sein, dass find den gesamten  
String cat ./header | formail -s procmail als Dateinamen ansieht?

 find . -maxdepth 1 -type f -exec cat \{\} | formail -s procmail;
 mv mist \{\}.new \;

 ergibt
 find: missing argument to `-exec'
 mv: missing file argument
Jepp - da Du die Befehlefolge nicht quotest, wird nur der Teil:
cat \{\} für exec erkannt - und da fehlt eben das \; am Ende. Die
Pipe gehört hier schon nicht mehr zum find.
Ist nachvollziehbar. Aber wenn ich quote, wird der Dateiname nicht  
gefunden...

 prune () { cat $1 | formail -s procmail; mv mist $1.new; };
 export prune; find . -maxdepth 1 -type f -exec prune {} \;
 find: prune ./header: No such file or directory
Kann es sein, dass der Konstrukt prune {} als _ein_ Kommando
aufgefasst wird? Versuchs hier doch mal ohne  - so wie oben.
prune() { cat $1 | formail -s procmail; }; export prune; find . - 
maxdepth 1 -type f -exec prune {} \;
find: prune: No such file or directory

exec mag wohl keine Shell-Funktionen...

Ich glaube. mit einem Shell-Script statt einer Funktion hättest Du
weniger Sorgen.
War halt nur ein quick'n'dirty hack. :-) Aber Du hast recht, die  
Funktion in ein Script gepackt wird ausgefuehrt. Und wenn man '$1'  
mit '$*' ersetzt, werden sogar Dateinamen mit Leerzeichen richtig  
erkannt. Letztlich sieht es also wohl danach aus, dass man find  
wirklich nur ein einzelnes Kommando direkt ausfuehren lassen kann.  
Aeusserst unpraktisch, wenn man in solchen Faellen  jedesmal erst ein  
eigenes Script schreiben muss...

Schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-29 Diskussionsfäden Andreas Schmidt
On 2004.02.29 15:02, Matthias Kluwe wrote:
Hierfür könnte (ohne das Problem genau zu kennen) evtl.

for f in $(find . -maxdepth 1 -type f)
do
cat $f | formail -s procmail
mv mist $f.new
done
eine Lösung sein.

Nicht wirklich. Damit fange ich mir dasselbe Problem wieder ein, dass  
ich mit find umgehen wollte: Dateinamen mit Leerzeichen im Namen werden  
gesplittet:
for f in $(find . -maxdepth 1 -type f); do echo $f; done
./header
./Debian
News
./Debian
User

Denselben Effekt koennte man viel einfacher mit einem simplen for f in  
`ls` erzielen. :-)

Trotzdem danke fuer die Hilfe.
Schoenen Gruss,
Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-29 Diskussionsfäden Jan Trippler
Am Sonntag, 29. Februar 2004 20:44 schrieb Andreas Schmidt:
[...]
 War halt nur ein quick'n'dirty hack. :-) Aber Du hast recht, die
 Funktion in ein Script gepackt wird ausgefuehrt. Und wenn man
 '$1' mit '$*' ersetzt, werden sogar Dateinamen mit
 Leerzeichen richtig erkannt. Letztlich sieht es also wohl danach
 aus, dass man find wirklich nur ein einzelnes Kommando direkt
 ausfuehren lassen kann. Aeusserst unpraktisch, wenn man in
 solchen Faellen  jedesmal erst ein eigenes Script schreiben
 muss...

Naja - so viel Mühe ist das ja auch nicht ;) - Aber mir ist grad 
noch ne andere Idee aus /dev/brain/remember hochgegekommen (für 
diesen Fall allerdings nicht getestet) - 1 Zeile:

find . -maxdepth 1 -type f -printf cat \%p\ | formail -s 
procmail; mv mist \%p\.new\n | sh

ggf. Pfadnamen ergänzen (für mist und dergleichen).

Jan


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find... [SOLVED]

2004-02-29 Diskussionsfäden Andreas Schmidt
On 2004.02.29 21:05, Jan Trippler wrote:
Am Sonntag, 29. Februar 2004 20:44 schrieb Andreas Schmidt:
[...]
 War halt nur ein quick'n'dirty hack. :-) Aber Du hast recht, die
 Funktion in ein Script gepackt wird ausgefuehrt. Und wenn man
 '$1' mit '$*' ersetzt, werden sogar Dateinamen mit
 Leerzeichen richtig erkannt. Letztlich sieht es also wohl danach
 aus, dass man find wirklich nur ein einzelnes Kommando direkt
 ausfuehren lassen kann. Aeusserst unpraktisch, wenn man in
 solchen Faellen  jedesmal erst ein eigenes Script schreiben
 muss...
Naja - so viel Mühe ist das ja auch nicht ;) - Aber mir ist grad
Macht aber alles unuebersichtlicher...entweder muss man die Pfade im  
Script anpassen, oder dafuer sorgen, dass das Script selbst nicht  
gefunden wird...

noch ne andere Idee aus /dev/brain/remember hochgegekommen (für
diesen Fall allerdings nicht getestet) - 1 Zeile:
find . -maxdepth 1 -type f -printf cat \%p\ | formail -s
procmail; mv mist \%p\.new\n | sh
ggf. Pfadnamen ergänzen (für mist und dergleichen).
Das ist genial! Waere nie darauf gekommen, etwas in die Shell zu pipen!  
Und es macht genau das, was ich brauche...sehr schoen, wieder was  
gelernt.

Vielen Dank und schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-17 Diskussionsfäden Andreas Schmidt
On 2004.02.16 21:56, Michelle Konzack wrote:
Am 2004-02-16 17:17:27, schrieb Andreas Schmidt:
On 2004.02.16 16:00, Michelle Konzack wrote:
manpage nicht gelesen ?

Doch, schon. Allerdings stand da nicht, dass man auch das Semikolon
per
Quote oder Backslash vor der Shell schuetzen muesse.
??? - In meiner stand es

(An dieser Stelle haette jetzt eigentlich das Zitat aus der Man-page

kommen sollen. aber ich bekomme es einfach nicht gebacken, aus man-
output im xterm Zeugs zu kopieren. Gwas soll das nun schon
Du meinst das...

   AAkkttiioonneenn::
   --eexxeecc _K_o_m_m_a_n_d_o_;
  führt  das  _K_o_m_m_a_n_d_o aus; die Aktion ist
wahr, wenn
  das Kommando einen Status von  Null  liefert;  alle
  auf  den  Kommandonamen  folgenden Argumente bis zu
  einem Semikolon ;;  werden  als  Kommandozeilenargu­
  mente für das Kommando interpretiert; das Semikolon
  kann nicht weggelassen werden,  und  es  muß  durch
  mindestens  ein  Whitespace  von  der letzen Option
  getrennt werden; die Konstruktion {{}} wird durch den
  Pfadnamen  der  Datei ersetzt; die Klammern und das
  Semikolon müssen  in  der  Kommandozeile  für
ffiinndd
  quotiert  werden,  damit  sie  nicht  von der Shell
  bearbeitet werden
Jetzt bin ich ehrlich verbluefft und in meinen Grundfesten  
erschuettert! Die deutsche Version der man page ist in diesem Punkt  
wirklich ausfuehrlicher als die englische! Der Teil das Semikolon
kann nicht weggelassen werden,  und  es  muß  durch mindestens  ein   
Whitespace  von  der letzen Option getrennt werden fehlt komplett:

-exec command ;
Execute command; true if 0 status is returned.  All following   
arguments to find  are  taken to  be  arguments  to  the command until  
an argument consisting of `;' is encountered.  The  string `{}' is  
replaced by the current file name being processed everywhere  it   
occurs  in the  arguments to the command, not just in arguments where  
it is alone, as in some versions of find.  Both of these constructions  
might need to be escaped (with a `\')  or  quoted  to protect  them   
from expansion by the shell.  The command is executed in the starting  
directory.

Ich habe zwar grundsaetzlich meine locale auf [EMAIL PROTECTED] eingestellt,  
aber LANG, LC_TIME und LC_MESSAGES sind auf en_US.ISO-8859-1 gesetzt,  
weil es eh nicht fuer alle man pages eine deutsche Version gibt (von  
HowTos ganz zu schweigen!) und die deutsche Version von Menueintraegen  
etc. immer etwas ungluecklich wirkt. In diesem Fall ist also die  
deutsche man page deutlich besser...ok, wieder was gelernt! :-)

wieder?! man abgebrochen, und copy/paste aus dem selben xterm funzt
ohne Probleme.)
Also wenn du less verwendest:

man find

Dann bis zur gewuenschten Stelle gehen (erste Zeile ganz oben muss  
die

lezte zu kopierende Zeile sein) und 'm' druecken. Jetzt erscheint
'mark'
in der Komandozeile und du gibst einen Buchstaben Deiner Wahl ein.
Danach soweit nach oben scrollen bis die erste Zeile die Du kopieren
willst ganz oben ist.
Jetzt 'ALT|' druecken und es erscheint '|mark' wo du den gewaehlten
Buchstaben eingebeb musst. Der Text zwischen der Marke 'Buchstabe'  
und

der obersten Zeile ist jetzt unsichtbar selektiert.

Nun erscheint ein '!' das eine 'PIPE' ist.

Hier gibste Du zum Beispiel 'cat  ~/test.txt' ein und drueckste
Eingabe.
Nun wird '|done' angezeitgt.
Wenn Du nun in Dein ~/ Verzeichnis gehst, wirst Du die Datei test.txt
finden mit dem kopiertem text.
Wunderbar, das funktioniert! Danke fuer die Anleitung!

Die kann ich dann mit F15 (dann Detei eingeben) in meine Mail
einfuegen.
Hmm...ich nehme zwar auch mutt, allerdings nur, wenn ich per ssh  
eingeloggt bin. Hier unter Gnome laeuft Balsa; naja, manchmal schleicht  
es eher so dahin. :-) Habe gerade letzte Woche meine mbox dieser Liste  
bereinigt; alles von Juli bis Dezember letzten Jahres separat  
gespeichert (uebrigens mit mutt) und gezippt. Nachdem die mbox von ca  
18,000 Mails/110 MB auf ein Drittel geschrumpft ist, kann ich auch mal  
wieder was sortieren lassen, ohne gleich die Zwangspause mit Kaffee  
kaufen, kochen und trinken ausfuellen zu muessen. :-)
Wo wir aber schon einmal so weit OT sind: von mutt war ich (alter elm- 
user) besonders wegen des message threading begeistert, und schnell ist  
er ja auch einigermassen.  Aber wie verhaelt sich das dem Handling  
mehrerer Mailboxen? Bisher habe ich zum Durchsehen meiner Spamablagen  
immer jeden Folder per mutt -f in einer neuen Instanz geoeffnet.  
Sicherlich gibt es da auch einfachere Moeglichkeiten, oder?

Schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-17 Diskussionsfäden Kai Wilke
High, high ...
* Andreas Schmidt [EMAIL PROTECTED] schrieb am [17.02.04 09:09]:
 [
 er ja auch einigermassen.  Aber wie verhaelt sich das dem Handling  
 mehrerer Mailboxen? Bisher habe ich zum Durchsehen meiner Spamablagen  
 immer jeden Folder per mutt -f in einer neuen Instanz geoeffnet.  
 Sicherlich gibt es da auch einfachere Moeglichkeiten, oder?
Trage in die .muttrc folgendes ein:

mailboxes +mailbox1 +mailbox2

Bei mir sind mailbox1 etc +INBOX.debuser etc., da ich cyrus21
benutze. In der manpage steht mailboxes filename filename.

Kiste

-- 
###
Netzworkk
Kai Wilke
[EMAIL PROTECTED]
http://www.netzworkk.de
http://netzworkk.berlios.de



signature.asc
Description: Digital signature


Re: Mal wieder find...

2004-02-17 Diskussionsfäden Michelle Konzack
Am 2004-02-17 09:09:33, schrieb Andreas Schmidt:

Jetzt bin ich ehrlich verbluefft und in meinen Grundfesten  
erschuettert! Die deutsche Version der man page ist in diesem Punkt  
wirklich ausfuehrlicher als die englische! Der Teil das Semikolon

Wie schon einmal erwaehnt, ich habe ein Multi-User und Multi-Language
System laufen. Die Hauptsprachen sind DE, EN, FR, TR und AR aber auch 
ES. 

hane alles was manpages war installiert und frage ja nicht, was da 
unterschiede sind. Da kannste Dir glat nen Schuss geben, - vor allem
wenn Du wie ich ueber mehrere Laender und Sprachen hinweg helfen 
willst. 

Ich kann einem Tuerken nicht den gleichen Tip geben wie einen Franzosen !

Hatte schon mehrfach die Autoren der 'manpages' parallel angeschrieben, 
aber nur von weniger als 5% Feedback bekommen. Habs dann sein lassen. 
So macht es einfach kein Spass mehr.

Vor allem habe ich hier ein seperates System, auf dem ich exakt 
das mache, was ich in meinen Debian Installations Handbuch 3.0 
installiere und mache.

Das dih30 schreibe ich auf DE, EN und FR parallel ueber drei Text-
editoren gleichzeitig. Daneben habe ich dreimal die manpages 
geoeffnet um Textpasagen zu kopieren...

Denke das sich jetzt jeder seinen Teil denken kann, was da raus kommt.

Frage an Profies:   Soll ich dafuer Bug-Reports schreiben ?
=

Ich habe zwar grundsaetzlich meine locale auf [EMAIL PROTECTED] eingestellt,  
aber LANG, LC_TIME und LC_MESSAGES sind auf en_US.ISO-8859-1 gesetzt,  
weil es eh nicht fuer alle man pages eine deutsche Version gibt (von  
HowTos ganz zu schweigen!) und die deutsche Version von Menueintraegen  
etc. immer etwas ungluecklich wirkt. In diesem Fall ist also die  
deutsche man page deutlich besser...ok, wieder was gelernt! :-)

Abgesehen davon sind die 'manpages-de' wirklich gut...

Wunderbar, das funktioniert! Danke fuer die Anleitung!

Habe auch eine Weile gebraucht, das less noch ein bischen mehr kann...

Hatte auf einem 'Basissystem + less + mc + gpm + mutt + lynx' mal 
angefangen, ein verzeichnis nach dem anderen mal zu surfen...

'mc' ist dafuer einfach genial. und auf der zweiten console habe ich 
dann die 'manpages' aufgerufen... WOW, - Da habe ich sachen gefunden !!! 

Sprich, wenn Du weist, was bereits die Basisinstallation so alles 
mitbringt, macht das Leben auf der Console so richtig spass...

Hmm...ich nehme zwar auch mutt, allerdings nur, wenn ich per ssh  
eingeloggt bin. Hier unter Gnome laeuft Balsa; naja, manchmal schleicht  

Balsa habe ich vor 4 Jahren oder so verwendet... allerdings ohne Gnome.

es eher so dahin. :-) Habe gerade letzte Woche meine mbox dieser Liste  
bereinigt; alles von Juli bis Dezember letzten Jahres separat  
gespeichert (uebrigens mit mutt) und gezippt. Nachdem die mbox von ca  
18,000 Mails/110 MB auf ein Drittel geschrumpft ist, kann ich auch mal  
wieder was sortieren lassen, ohne gleich die Zwangspause mit Kaffee  
kaufen, kochen und trinken ausfuellen zu muessen. :-)

Nimm formail und filter die Received-Header weg. Die braucht man sowieso 
nicht mehr. Das spart bei 18.000 Mails garantiert 25 MBytes. Habe ich 
vor ein paar Tagen mit meiner Workstation gemacht und 200 MByte im 
Maildir eingesparrt.

Zur Zeit lasse ich den Filter auf meinem DEBIAN Server laufen, auf 
dem ich ein List-Archive mit 4.370.000 Mails im Maildir (37 GByte) habe.

Leider habe ich noch ein ext3 mit Blocksize 4 kByte, was ich aber nach 
dem Filtern auf 1 kByte aendern will. Denke, das am ende die Mails 
weniger als 20 GByte verbrauchen werden.

Wo wir aber schon einmal so weit OT sind: von mutt war ich (alter elm- 
user) besonders wegen des message threading begeistert, und schnell ist  
er ja auch einigermassen.  Aber wie verhaelt sich das dem Handling  
mehrerer Mailboxen? Bisher habe ich zum Durchsehen meiner Spamablagen  
immer jeden Folder per mutt -f in einer neuen Instanz geoeffnet.  
Sicherlich gibt es da auch einfachere Moeglichkeiten, oder?

Mit 'c' wechselst Du die Mailbox und wenn Du danach ein '?' drckst, 
siehste alle Deine mailboxem im Verzeichnis.

Aber du kannst auch 'mailboxes' verwenden...
Z.B.
#~/.muttrc
mailboxes +INBOX +NIGSCAM +SOBER +SWEN \
+michelle +debian-user-german +mutt-users

mailboxes definiert alle Mailboxen, in denen Du neue Mail empfangen 
kannst, also pocmail diese einsortiert. Wenn Du dann neue E-Mails 
empfaengst, wird es in der unteren Zeile angezeigt. 

Wechsel kannst Du einfach mit 'c' was Dir automatisch die nchste 
mailbox oeffnet oder danach ein TAB, bzw mehrere.

Mit einem 

TAB  bekommst Du alle 'mailboxes' mit fuehrendem '=' angezeigt
TABTAB bekommst Du alle MAIlboxen im Aktuellen Verzeichnis angezeigt.

Hier kannst Du dan mit up oder down auswhlen und mit enter 
besaettigen.

Schoenen Gruss,

Andreas

Greetings
Michelle

-- 
Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ 


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN 

Re: Mal wieder find...

2004-02-16 Diskussionsfäden Peter Weiss, Sun Microsystems, Germany
 Andreas == Andreas Schmidt [EMAIL PROTECTED] writes:

Andreas Hallo,

Andreas irgendwie hab ich Probleme mit find. Wollte fuer eine Reihe DAteien
Andreas chmod setzen.

Andreas man find meint, dass man per -exec command; ein Kmmano ausfuehren
Andreas lassen koenne.
Andreas [...]


Das Semikolon ist gleichzeitig Komanndotrenner der Shell. Der find bekommt
das nie mit, weils von der Shell ausgewertet wird. Beispielsweise gibt

   echo ;

nie ein Semikolon aus, wohl aber

   echo \;

Also besser

   find . -name type d -exec command {} \;

Einfacher und besser für Deine Aufgabe ist aber

   find . -name type d | xargs  command


Hth -- Peter

-- 
Peter Weiss   / [EMAIL PROTECTED]
Sun Microsystems GmbH / Sonnenallee 1, D-85551 Kirchheim-Heimstetten
(+49 89) 46008 2947   / mobil 0177/ 60 40 121


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Alf Werder
On Mon, 2004-02-16 at 14:28, Andreas Schmidt wrote:
 Hallo,
 
 irgendwie hab ich Probleme mit find. Wollte fuer eine Reihe DAteien  
 chmod setzen.
 
 man find meint, dass man per -exec command; ein Kmmano ausfuehren  
 lassen koenne. Habe gerade auch nochmal die Postings hier durchgesehen  
 (in letzter Zeit gab es ja einige Fragen zu find), aber dort war nichts  
 zu einer Aktion -exec zu finden; wurde alles nur mit -[print0|name] | 
 xargs gemacht. Hat das einen besonderen Grund? Ist -exec nicht mehr  
 ueblich?
 
 Hier mal meine Versuche:
 [EMAIL PROTECTED]:/mnt/fileserver/pub$ find . -type f -exec chmod 640  
 {};
 find: missing argument to `-exec'
 [EMAIL PROTECTED]:/mnt/fileserver/pub$ find . -type f -exec chmod  
 640 {};
 find: missing argument to `-exec'
 [EMAIL PROTECTED]:/mnt/fileserver/pub$ find . -type f -exec chmod  
 640 {};
 find: missing argument to `-exec'
 [EMAIL PROTECTED]:/mnt/fileserver/pub$ find . -type f -exec chmod 640  
 \{\};
 find: missing argument to `-exec'
 
 {} soll angeblich durch den aktuellen Dateinamen ersetzt werden. Was  
 mache ich hier jetzt also falsch?

Ich benutze find -exec oft und gerne. Man muß nicht nur die geschweiften
Klammern, sondern auch das abschließende Semikolon vor der Shell
verbergen:

find . -type f -exec chmod 640 \{\} \;

sollte zum Erfolg führen.

-alf


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Torsten Schneider
On Mon, Feb 16, 2004 at 02:40:12PM +0100, Alf Werder wrote:
 
 Ich benutze find -exec oft und gerne. Man muß nicht nur die geschweiften
 Klammern, sondern auch das abschließende Semikolon vor der Shell
 verbergen:
 
 find . -type f -exec chmod 640 \{\} \;

Bei welcher Shell? Bei tcsh und bash ist es überflüssig.


Grüße, Torsten


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Andreas Schmidt
On 2004.02.16 14:35, Peter Weiss, Sun Microsystems, Germany wrote:
 Andreas == Andreas Schmidt [EMAIL PROTECTED]
writes:
Andreas Hallo,

Andreas irgendwie hab ich Probleme mit find. Wollte fuer eine Reihe
DAteien
Andreas chmod setzen.
Andreas man find meint, dass man per -exec command; ein Kmmano
ausfuehren
Andreas lassen koenne.
Andreas [...]
Das Semikolon ist gleichzeitig Komanndotrenner der Shell. Der find
bekommt
das nie mit, weils von der Shell ausgewertet wird. Beispielsweise  
gibt

   echo ;

nie ein Semikolon aus, wohl aber

   echo \;

Also besser

   find . -name type d -exec command {} \;
OK, soweit habe ich nicht gedacht, jetzt funktioniert es! Das erklaert  
natuerlich auch, warum  -exec so selten in den Beispielen hier auf der  
Liste genutzt wurde..
Einfacher und besser für Deine Aufgabe ist aber

   find . -name type d | xargs  command
Sicher. Da ich ja aber erstmal das andere ausprobieren musste, ist die  
Sache mittlerweile schon erledigt. :-) Ausserdem geht es ja auch ums  
Prinzip. Kann doch nicht solche bloeden Fehlermeldungen ueber mich  
ergehen lassen, ohne dahinterzukommen, wie man sie abstellt!

Danke fuer den Tip also,

schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-16 Diskussionsfäden Heike C. Zimmerer
[EMAIL PROTECTED] (Peter Weiss, Sun Microsystems, Germany) writes:

 Also besser

find . -name type d -exec command {} \;


Was macht das -name ohne Argument darin?


 Einfacher und besser für Deine Aufgabe ist aber

find . -name type d | xargs  command


Das ist keinesfalls besser.  Ärger mit White Space in Filenamen ist da
vorprogrammiert.  Wenn schon, dann (GNU vorausgesetzt):

find . -type d -print0 | xargs -0 command

Gruß,

 Heike


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Torsten Schneider
On Mon, Feb 16, 2004 at 03:32:20PM +0100, Heike C. Zimmerer wrote:

 find . -name type d -exec command {} \;
 
 Was macht das -name ohne Argument darin?

Es hat doch ein Argument, nämlich type, also werden alles Files namens
type gesucht. Leider verursacht dann das allein stehende d einen
Fehler... ;)


Grüße, Torsten


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Michelle Konzack
Am 2004-02-16 14:28:29, schrieb Andreas Schmidt:
Hallo,

xargs gemacht. Hat das einen besonderen Grund? Ist -exec nicht mehr  
ueblich?

ganz im gegenteil...

Hier mal meine Versuche:
[EMAIL PROTECTED]:/mnt/fileserver/pub$ find . -type f -exec chmod 640  
{};

manpage nicht gelesen ?

Versuchs mal mit:

find . -type f -exec chmod 640 {} ';'

{} soll angeblich durch den aktuellen Dateinamen ersetzt werden. Was  
mache ich hier jetzt also falsch?

s.o.

Schoenen Gruss,

Andreas

Greetings
Michelle

-- 
Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ 


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Michelle Konzack
Am 2004-02-16 14:40:12, schrieb Alf Werder:

Ich benutze find -exec oft und gerne. Man muß nicht nur die geschweiften
Klammern, sondern auch das abschließende Semikolon vor der Shell
verbergen:

find . -type f -exec chmod 640 \{\} \;

Heumexperimentiert und keine manpage gelesen...

find . -type f -exec chmod 640 {} ';'

ist der richtige weg, wenn Du die manpage gelesen hättest.

sollte zum Erfolg führen.

-alf

Greetings
Michelle

-- 
Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ 


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Philipp Meier
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Andreas Schmidt wrote:
| irgendwie hab ich Probleme mit find. Wollte fuer eine Reihe DAteien
| chmod setzen.
|
| man find meint, dass man per -exec command; ein Kmmano ausfuehren
| lassen koenne. Habe gerade auch nochmal die Postings hier durchgesehen
| (in letzter Zeit gab es ja einige Fragen zu find), aber dort war nichts
| zu einer Aktion -exec zu finden; wurde alles nur mit -[print0|name] |
| xargs gemacht. Hat das einen besonderen Grund? Ist -exec nicht mehr
| ueblich?
Der Nachteil an -exec ist, daß für jede Datei, die find findet ein neuer Prozess
gestartet wird, und das kann extrem langsam sein.
Beispiel:

in /foo liegen bar001 - bar999

Ein find /foo -type f -exec chmod +w {} \; erzeugt folgende Prozesse:

1.) find
2. bis 1000.) chmod +w bar00X
Ein find /foo -type f -print 0 | xargs -0 chmod +w  erzeugt folgende Prozesse:
1.) find
2.) chmod +w bar001 bar002 bar003 bar004 ...
3.) chmod +w bar101 bar102 bar103 bar104 ...
Die Anzahl der Argumente, die chmod jeweils aufeinmal mitbekommt hängt von
Deinem System ab, läst sich aber über --max-args begrenzen.
Aufgepaßt: xargs übergibt die reingepipeten Argumente zunächst mal als letztes,
möchte man etwas wie find -exec sh -c echo X{}X \; machen, so geht das mit -i:
find /foo -type f -print0 | xargs -i sh -c echo X{}X

Alle Beispiele ungetestet, YMMV,

	-billy.

- --
Meisterbohne   Meisterbohne GbR, Küfner, Mekle, Meier   Tel: +49-731-399 499-0
~   eLösungen   Söflinger Straße 100 Fax: +49-731-399 499-9
~   89077 Ulm   http://www.meisterbohne.de/
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFAMONL6twtlEPERx4RAlzbAJ9elT9mZvPQkXp1MVvaNP0McblYAQCgo3eF
f7+CkOAw09Mrag3lY6jamZE=
=CfRg
-END PGP SIGNATURE-
--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-16 Diskussionsfäden Andreas Schmidt
On 2004.02.16 16:00, Michelle Konzack wrote:
Am 2004-02-16 14:28:29, schrieb Andreas Schmidt:
Hallo,
xargs gemacht. Hat das einen besonderen Grund? Ist -exec nicht mehr
ueblich?
ganz im gegenteil...

Hier mal meine Versuche:
[EMAIL PROTECTED]:/mnt/fileserver/pub$ find . -type f -exec chmod
640
{};
manpage nicht gelesen ?

Doch, schon. Allerdings stand da nicht, dass man auch das Semikolon per  
Quote oder Backslash vor der Shell schuetzen muesse.
(An dieser Stelle haette jetzt eigentlich das Zitat aus der Man-page  
kommen sollen. aber ich bekomme es einfach nicht gebacken, aus man- 
output im xterm Zeugs zu kopieren. Gwas soll das nun schon  
wieder?! man abgebrochen, und copy/paste aus dem selben xterm funzt  
ohne Probleme.)

Versuchs mal mit:

find . -type f -exec chmod 640 {} ';'

Ja, laeuft. Danke!

Schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-16 Diskussionsfäden Andreas Schmidt
On 2004.02.16 16:03, Michelle Konzack wrote:
Am 2004-02-16 14:40:12, schrieb Alf Werder:

Ich benutze find -exec oft und gerne. Man muß nicht nur die
geschweiften
Klammern, sondern auch das abschließende Semikolon vor der Shell
verbergen:

find . -type f -exec chmod 640 \{\} \;
Heumexperimentiert und keine manpage gelesen...

find . -type f -exec chmod 640 {} ';'

ist der richtige weg, wenn Du die manpage gelesen hättest.

Hier muss ich aber doch widersprechen und aus man find zitieren (gibt  
es ja zum Glueck auch noch online...):

The string `{}' is replaced by the current file name being processed  
everywhere it occurs in the arguments to the command, not just 
in arguments where it is alone, as in some versions of find.  Both of  
these constructions might need to be  escaped  (with a `\') or quoted  
to protect them from expansion by the shell.

Schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-16 Diskussionsfäden Florian Ernst
Hallo Andreas!

On Mon, Feb 16, 2004 at 05:17:27PM +0100, Andreas Schmidt wrote:
On 2004.02.16 16:00, Michelle Konzack wrote:
manpage nicht gelesen ?

Doch, schon. Allerdings stand da nicht, dass man auch das Semikolon per  
Quote oder Backslash vor der Shell schuetzen muesse.
Aus man find:
|-exec command ;
|Execute command; true if 0 status is returned. All following arguments
|to find are taken to be arguments to the command until an argument
|consisting of `;' is encountered. The string `{}' is replaced by the
|current file name being processed everywhere it occurs in the
|arguments to the command, not just in arguments where it is alone, as
|in some versions of find. Both of these constructions might need to be
|escaped (with a `\') or quoted to protect them from expansion by the
|shell. The command is executed in the starting directory.
Letzte drei Zeilen...

Gruß,
Flo


signature.asc
Description: Digital signature


Re: Mal wieder find...

2004-02-16 Diskussionsfäden Andreas Schmidt
On 2004.02.16 15:14, Torsten Schneider wrote:
On Mon, Feb 16, 2004 at 02:40:12PM +0100, Alf Werder wrote:

 Ich benutze find -exec oft und gerne. Man muß nicht nur die
geschweiften
 Klammern, sondern auch das abschließende Semikolon vor der Shell
 verbergen:

 find . -type f -exec chmod 640 \{\} \;
Bei welcher Shell? Bei tcsh und bash ist es überflüssig.

Kann ich hier (bash) so nicht bestaetigen. Zumindest das Semikolon muss  
versteckt werden, ansonsten spuckt er wieder die Fehlermeldungen aus...

Schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-16 Diskussionsfäden Torsten Schneider
On Mon, Feb 16, 2004 at 05:50:26PM +0100, Andreas Schmidt wrote:

  find . -type f -exec chmod 640 \{\} \;
 
 Bei welcher Shell? Bei tcsh und bash ist es überflüssig.
 
 Kann ich hier (bash) so nicht bestaetigen. Zumindest das Semikolon muss  
 versteckt werden, ansonsten spuckt er wieder die Fehlermeldungen aus...

Ich meinte eher, welche Shell Probleme mit dem {} ohne Backslashes hat.


Grüße, Torsten


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Alf Werder
On Mon, 2004-02-16 at 15:14, Torsten Schneider wrote:
 On Mon, Feb 16, 2004 at 02:40:12PM +0100, Alf Werder wrote:
  
  Ich benutze find -exec oft und gerne. Man muß nicht nur die geschweiften
  Klammern, sondern auch das abschließende Semikolon vor der Shell
  verbergen:
  
  find . -type f -exec chmod 640 \{\} \;
 
 Bei welcher Shell? Bei tcsh und bash ist es überflüssig.

Ich kann hier bei mir (bash 2.05b-12, findutils 4.1.20-3) nicht darauf
verzichten. Seit der Bourne Shell trennt ein Semikolon die Kommandos.
Bash und tcsh interpretieren das Semikolon auf jeden Fall. Ich denke
eher, daß es evtl. Versionen von find gibt, die das Semikolon nicht
einfordern, wenn die Option -exec am Ende das Befehls steht.

-alf


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Heike C. Zimmerer
Andreas Schmidt [EMAIL PROTECTED] writes:

 find . -type f -exec chmod 640 {} ';'
 
 ist der richtige weg, wenn Du die manpage gelesen hättest.

 Hier muss ich aber doch widersprechen und aus man find zitieren (gibt  
 es ja zum Glueck auch noch online...):

 The string `{}' is replaced by the current file name being processed  
 everywhere it occurs in the arguments to the command, not just 
 in arguments where it is alone, as in some versions of find.  Both of  
 these constructions might need to be  escaped  (with a `\') or quoted  
 ^^
 to protect them from expansion by the shell.

Wo siehst du einen Widerspruch?

Gruß,

 Heike


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Andreas Schmidt
On 2004.02.16 17:31, Florian Ernst wrote:
Hallo Andreas!

On Mon, Feb 16, 2004 at 05:17:27PM +0100, Andreas Schmidt wrote:
On 2004.02.16 16:00, Michelle Konzack wrote:
manpage nicht gelesen ?

Doch, schon. Allerdings stand da nicht, dass man auch das Semikolon  
per  Quote oder Backslash vor der Shell schuetzen muesse.
Aus man find:
|-exec command ;
|Execute command; true if 0 status is returned. All following  
arguments
|to find are taken to be arguments to the command until an argument
|consisting of `;' is encountered. The string `{}' is replaced by the
|current file name being processed everywhere it occurs in the
|arguments to the command, not just in arguments where it is alone,  
as
|in some versions of find. Both of these constructions might need to  
bethese
|escaped (with a `\') or quoted to protect them from expansion by the
|shell. The command is executed in the starting directory.

Letzte drei Zeilen...
Ich bilde mir ein, ein kleines bisschen Englisch zu koennen, und bin  
dafuer beruechtigt, mit meinen Referenzen eher pedantisch umzugehen.

Key ist in den letzten drei Zeilen ja wohl Both of these  
constructions. Man koennte argumentieren, dass damit `;' und `{}'  
gemeint seien. Dagegen spraeche, dass die einfachen Anfuehrungszeichen  
sowohl in until an argument consisting of `;' is encountered als auch  
in The string `{}' is replaced nur dazu dienen, diese Sonderzeichen  
gegenueber dem sie umgebenden Text abzugrenzen. Verstaerkt wird dieser  
Eindruck durch den folgenden Satz, der explizit darauf aufmerksam  
macht, [that] these constructions might need to be escaped. Bezoegen  
sich die letzten drei Zeilen also auf ; und {}, so wuerde das  
einzeln stehende Semikolon zur construction geadelt werden. Zumindest  
meinem Verstaendnis liefe das zuwider.

Plausibler erscheint mir, dass sich die Phrase both of these  
constructions eben nicht auf ; und {} bezieht, sondern auf zwei  
andere  Konstrukte. Diese sind im unmittelbar vorherstehenden Satz  
genannt:
a) The string `{}' is replaced [...] everywhere it occurs in the   
arguments to the command und
b) [The string `{}' is replaced] not just in arguments where it is  
alone, as in some versions of find

Diese Perspektive erlaubt es mir, guten Gewissens das Semikolon nicht  
den in der man page als zwingend schuetzenswert dargestellten Zeichen  
zuzurechnen.

Sorry, wenn sich das alles etwas klugscheisserisch anhoeren mag. Aber  
der Mensch an sich kommt nun einmal schwer aus seiner Haut (in diesem  
Falle der eines angehenden Literaturwissenschaftlers, deshalb auch das  
Faible fuer Interpretationen) heraus, und mit dem Vorwurf der  
Korinthenkackerei lebe ich schon lange mehr oder weniger gut. :-)

Gruß,
Flo
Schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-16 Diskussionsfäden Jan Trippler
Am Montag, 16. Februar 2004 19:03 schrieb Andreas Schmidt:
[...]
 Ich bilde mir ein, ein kleines bisschen Englisch zu koennen, und
 bin dafuer beruechtigt, mit meinen Referenzen eher pedantisch
 umzugehen.
[viel Interpretation]
 Diese Perspektive erlaubt es mir, guten Gewissens das Semikolon
 nicht den in der man page als zwingend schuetzenswert
 dargestellten Zeichen zuzurechnen.
[...]

Und was nutzt Dir diese Interpretation - mag sie noch so guten 
Gewissens gezeugt worden sein? Sie ist schlicht und einfach falsch. 
Das Semikolon _muss_ vor der Shell (zumindest Bourne-, Korn-Shell 
und bash) geschützt werden, entweder mit \; oder mit ';' (ich ziehe 
1. Variante vor - 1 Zeichen weniger ;) - sonst funktioniert Dein 
exec einfach nicht. Der find lässt sich nicht durch mehr oder 
weniger spitzfindige man-Page-Interpretationen beeindrucken - und 
die Shell schon gar nicht ;)

Jan


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Andreas Schmidt
On 2004.02.16 18:43, Heike C. Zimmerer wrote:
Andreas Schmidt [EMAIL PROTECTED] writes:

 find . -type f -exec chmod 640 {} ';'

 ist der richtige weg, wenn Du die manpage gelesen hättest.

 Hier muss ich aber doch widersprechen und aus man find zitieren
(gibt
 es ja zum Glueck auch noch online...):

 The string `{}' is replaced by the current file name being  
processed

 everywhere it occurs in the arguments to the command, not just

 in arguments where it is alone, as in some versions of find.  Both
of
 these constructions might need to be  escaped  (with a `\') or
quoted
^^
 to protect them from expansion by the shell.
Wo siehst du einen Widerspruch?

Der Widerspruch ist in dem Teil, den Du weggeschnitten hast. Ich fuege  
nochmal ein:
On 2004.02.16 16:03, Michelle Konzack wrote:
Am 2004-02-16 14:40:12, schrieb Alf Werder:

Ich benutze find -exec oft und gerne. Man muß nicht nur die
geschweiften
Klammern, sondern auch das abschließende Semikolon vor der Shell
verbergen:

find . -type f -exec chmod 640 \{\} \;
Heumexperimentiert und keine manpage gelesen...

find . -type f -exec chmod 640 {} ';'

ist der richtige weg, wenn Du die manpage gelesen hättest.
Das sah fuer mich nach einem Ausschliesslichkeitsanspruch von Michelles  
Seite aus. Ich meinte nicht, dass ihre Variante falsch sei, sondern  
dass die von Alf ebenso richtig ist.

Schoenen Gruss,

Andreas 

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-16 Diskussionsfäden Jan Sechser
hi andreas,

Am Montag, 16. Februar 2004 19.03 schrieb Andreas Schmidt:
 Plausibler erscheint mir, dass sich die Phrase both of these
 constructions eben nicht auf ; und {} bezieht, sondern auf zwei
 andere  Konstrukte. Diese sind im unmittelbar vorherstehenden Satz
 genannt:
 a) The string `{}' is replaced [...] everywhere it occurs in the
 arguments to the command und
 b) [The string `{}' is replaced] not just in arguments where it is
 alone, as in some versions of find

mhh, das Both impliziert aber das es zwei verschiedene constructions sind.
Kritik des reinen Verstandes finde ich immer interessant, aber der Nebensatzt 
in b) erweitert nur die Aussage über The string `{}' .
Schöner Versuch! ;-]]

 Schoenen Gruss,

 Andreas

cheers
jan sechser


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Andreas Schmidt
On 2004.02.16 19:27, Jan Trippler wrote:
Am Montag, 16. Februar 2004 19:03 schrieb Andreas Schmidt:
[...]
 Ich bilde mir ein, ein kleines bisschen Englisch zu koennen, und
 bin dafuer beruechtigt, mit meinen Referenzen eher pedantisch
 umzugehen.
[viel Interpretation]
 Diese Perspektive erlaubt es mir, guten Gewissens das Semikolon
 nicht den in der man page als zwingend schuetzenswert
 dargestellten Zeichen zuzurechnen.
[...]
Und was nutzt Dir diese Interpretation - mag sie noch so guten
Gewissens gezeugt worden sein? Sie ist schlicht und einfach falsch.
Das Semikolon _muss_ vor der Shell (zumindest Bourne-, Korn-Shell
und bash) geschützt werden, entweder mit \; oder mit ';' (ich ziehe
1. Variante vor - 1 Zeichen weniger ;) - sonst funktioniert Dein
exec einfach nicht. Der find lässt sich nicht durch mehr oder
weniger spitzfindige man-Page-Interpretationen beeindrucken - und
die Shell schon gar nicht ;)
Weiss ich. Eigentlich ist das ganze doch aber schon lange gegessen. Ich  
habe gleich nach dem ersten Hinweis darauf, dass auch das Semikolon  
versteckt werden sollte, selbiges ausprobiert und war vom Erfolg  
begeistert. Hatte ich eigentlich ja auch schon geschrieben --  
allerdings, zugegeben, ohne ein [Solved] im Subject. Konnte ja nicht  
ahnen, dass sich dieser Thread so dermassen verselbstaendigen  
wuerde. :-)
Und die  Interpretation habe ich ja auch nicht geliefert, weil ich mich  
immer noch hartnaeckig weigere, das Semikolon anstaendig zu quoten,  
sondern um mich von dem Vorwurf, TFM nicht gelesen zu haben,  
reinzuwaschen und mein vermeintliches Nichtverstaendnis der dort  
gegebenen Erklaerung zu begruenden.

Schoenen Gruss,

Andreas

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Mal wieder find...

2004-02-16 Diskussionsfäden Michelle Konzack
Am 2004-02-16 19:46:00, schrieb Andreas Schmidt:

find . -type f -exec chmod 640 {} ';'

ist der richtige weg, wenn Du die manpage gelesen hättest.

Das sah fuer mich nach einem Ausschliesslichkeitsanspruch von Michelles  
Seite aus. Ich meinte nicht, dass ihre Variante falsch sei, sondern  
dass die von Alf ebenso richtig ist.

Nur habe ich meine Version erste hier in der Liste erfahren, dann in der 
Manpage gelesen und spaeter in ewig vielen Scripts von anderen Personen 
wiedergefunden.

Schoenen Gruss,

Andreas 

Greetings
Michelle

-- 
Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ 


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Mal wieder find...

2004-02-16 Diskussionsfäden Michelle Konzack
Am 2004-02-16 17:17:27, schrieb Andreas Schmidt:
On 2004.02.16 16:00, Michelle Konzack wrote:

manpage nicht gelesen ?

Doch, schon. Allerdings stand da nicht, dass man auch das Semikolon per  
Quote oder Backslash vor der Shell schuetzen muesse.

??? - In meiner stand es drin...


(An dieser Stelle haette jetzt eigentlich das Zitat aus der Man-page  
kommen sollen. aber ich bekomme es einfach nicht gebacken, aus man- 
output im xterm Zeugs zu kopieren. Gwas soll das nun schon  

Du meinst das...

   AAkkttiioonneenn::
   --eexxeecc _K_o_m_m_a_n_d_o_;
  führt  das  _K_o_m_m_a_n_d_o aus; die Aktion ist wahr, wenn
  das Kommando einen Status von  Null  liefert;  alle
  auf  den  Kommandonamen  folgenden Argumente bis zu
  einem Semikolon ;;  werden  als  Kommandozeilenargu­
  mente für das Kommando interpretiert; das Semikolon
  kann nicht weggelassen werden,  und  es  muß  durch
  mindestens  ein  Whitespace  von  der letzen Option
  getrennt werden; die Konstruktion {{}} wird durch den
  Pfadnamen  der  Datei ersetzt; die Klammern und das
  Semikolon müssen  in  der  Kommandozeile  für  ffiinndd
  quotiert  werden,  damit  sie  nicht  von der Shell
  bearbeitet werden

wieder?! man abgebrochen, und copy/paste aus dem selben xterm funzt  
ohne Probleme.)

Also wenn du less verwendest:

man find

Dann bis zur gewuenschten Stelle gehen (erste Zeile ganz oben muss die 
lezte zu kopierende Zeile sein) und 'm' druecken. Jetzt erscheint 'mark' 
in der Komandozeile und du gibst einen Buchstaben Deiner Wahl ein.

Danach soweit nach oben scrollen bis die erste Zeile die Du kopieren 
willst ganz oben ist.

Jetzt 'ALT|' druecken und es erscheint '|mark' wo du den gewaehlten 
Buchstaben eingebeb musst. Der Text zwischen der Marke 'Buchstabe' und 
der obersten Zeile ist jetzt unsichtbar selektiert. 

Nun erscheint ein '!' das eine 'PIPE' ist. 

Hier gibste Du zum Beispiel 'cat  ~/test.txt' ein und drueckste Eingabe.
Nun wird '|done' angezeitgt.

Wenn Du nun in Dein ~/ Verzeichnis gehst, wirst Du die Datei test.txt 
finden mit dem kopiertem text. 

Die kann ich dann mit F15 (dann Detei eingeben) in meine Mail einfuegen. 

Versuchs mal mit:

find . -type f -exec chmod 640 {} ';'

Ja, laeuft. Danke!

HAbe aber feststellen mssen, das in der deutschen man, bzw, dieser Version 
es nicht drin steht. Habe von find immerhin 8 VERSCHIEDENE manpages in de, 
fr und en. 

Schoenen Gruss,

Andreas

Greetings
Michelle

-- 
Registered Linux-User #280138 with the Linux Counter, http://counter.li.org/ 


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)