KAPITEL 8
Einen frechen Einzeiler schreiben
Erinnern Sie sich noch an diesen langen, aufwendig gewundenen Befehl aus der Einführung?
$ paste <(echo {1..10}.jpg | sed 's/ /\n/g') \
<(echo {0..9}.jpg | sed 's/ /\n/g') \
| sed 's/^/mv /' \
| bash
Solche magischen Aufrufe sind freche Einzeiler (»brash One-liners«).1 Nehmen wir ihn einmal auseinander, um zu verstehen, was er macht und wie er funktioniert. Die innersten echo-Befehle nutzen eine Klammererweiterung, um Listen aus JPEG-Dateinamen zu generieren:
$ echo {1..10}.jpg
1.jpg 2.jpg 3.jpg...10.jpg
$ echo {0..9}.jpg
0.jpg 1.jpg 2.jpg...9.jpg
Durch das Weiterleiten der Dateinamen in der Pipeline an sed werden die Leerzeichen durch Newlines ersetzt:
$ echo {1..10}.jpg | sed 's/ /\n/g'
1.jpg ...
Get Produktiv auf der Linux-Kommandozeile now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.