[linux-l] doofes bash problem

Frank Reker frank at reker.net
Mi Feb 16 16:45:26 CET 2005


Am Wed 16. Feb 2005 14:40 +0000 schrieb Axel Burkhardt:

>Frank Reker wrote:
>>Aber wenn du unbedingt willst..., dann mach IFS='$\n' for der Schleife. 

Sorry muss natuerlich IFS=$'\n' heissen.

>Das wars, was ich gesucht habe. Vielen Dank!!!

Hat natuerlich den Nachteil, dass es nicht funktioniert, wenn der 
Dateiname newlines enthaelt. Ist zwar selten, kann aber theoretisch 
vorkommen.
Kannst ja auch in find ein script aufrufen, dass dann $1 nimmt.
u.U. auch das script $0 (also sich selbst) mit einer option --intern 
oder so aehnlich.
So in etwa:

if test "$1" = "--intern"; then
	shift;
	foo="$1";
	shift; shift;
	test -z "$foo" -o "$foo" = "--" && exit 1;
	# do what ever to be done with foo
	exit 0
fi

find ./ -name \*.txt -exec "$0" --intern '{}' -- $@ \;

-- 
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20050216/dbbc6d69/attachment.sig>


Mehr Informationen über die Mailingliste linux-l