schoener schleifen

01/12/2010 - 19:06 von Ulli Horlacher | Report spam
for-Schleifen verwende ich interaktiv sehr haeufig, in der Form:

for f in *; do machwas -mit "$f"; done

Leider ist die Syntax etwas sperrig zum Tippen. Ausserdem fehlte mir
directory-Rekursion und interaktives Auswaehlen von Files.

Aus allem zusammen hab ich jetzt "with" gemacht:

usage: with [-v] [-e] files : command
options: -v verbose mode
-e edit file names list before command execution
command: %F is expanded to all file names
%f is expanded to single file names
%f:old:new: is expanded to single file names with substitution
examples: with *.jpg : jpegtran -rotate 90 %f
with *~ : mv %f %f:~:.old:
with -e xlab* : rm %F
with /etc/:*rc : wc %F # wildcard ":" means directory recursion

usage: with [-e] files :: 'perl code'
option: -e edit file names list before command execution
perl code: $f is single file
@F is all files
examples: with * :: '@s = stat($f); print "$f inode=$s[1]"'
with :*.pl :: 'print "@F"'


with gibts da:

http://fex.rus.uni-stuttgart.de/fstools/


Ullrich Horlacher Informationssysteme und Serverbetrieb
Rechenzentrum E-Mail: horlacher@rus.uni-stuttgart.de
Universitaet Stuttgart Tel: ++49-711-685-65868
Allmandring 30 Fax: ++49-711-682357
70550 Stuttgart (Germany) WWW: http://www.rus.uni-stuttgart.de/
 

Lesen sie die antworten

#1 Martin Vaeth
01/12/2010 - 19:50 | Warnen spam
Ulli Horlacher schrieb:
for-Schleifen verwende ich interaktiv sehr haeufig, in der Form:

for f in *; do machwas -mit "$f"; done

Leider ist die Syntax etwas sperrig zum Tippen.



Für interaktives Arbeiten benutzt man ohnehin zsh :)

for f in *; machwas -mit "$f"

Ausserdem fehlte mir directory-Rekursion



zsh:
for f in **/*; machwas -mit "$f"

und interaktives Auswaehlen von Files.



Ja, die Qualitàt der interaktiven Filename-completion
der zsh könnte besser sein, obwohl sie da auch schon
Einiges bietet - jedenfalls deutlich mehr als die bash :)

Ähnliche fragen