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.