[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mal wieder find...



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



Reply to: