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

Re: Anfängerfrage zu Bash-Script...



Am 2014-03-27 10:15, schrieb Horst Felder:
Hallo!

Ich bin nicht so der Konsolen-Freak, habe bisher nur einige
dilettantische kleine Scripts geschrieben (beispielsweise um
einen Ordner mit Fotos zu verkleinern, zu schärfen und zu
beschriften). Ich bin da also leider nicht wirklich firm.

Ich hätte gerne die Ausgabe einer Todo-Liste ohne Zeilen-ID, aber mit
Kästchen zum abhaken. Das macht rudimentär folgender Einzeiler:

todo.sh -p pv | cut -c 3- | sed 's/^/❏ /' > testfest.txt

»todo.sh -p pv« liefert folgendes:

------------------------hier-bitte-absprengen------------------------
=====  Projects  =====

---  film  ---
64 Die Jahrtausendkathedrale (Mainzer Dom)
67 Die Botschaft der 12. Etruskerstadt

---  foto  ---
01 (A) Polfilter für 300/4 @kaufen
11 (B) EOS-Bilder neu nummerieren @computer
------------------------hier-bitte-absprengen------------------------

Und raus kommt dann das:

------------------------hier-bitte-absprengen------------------------
❏ ===  Projects  =====
❏
❏ -  film  ---
❏  Die Jahrtausendkathedrale (Mainzer Dom)
❏  Die Botschaft der 12. Etruskerstadt
❏
❏ -  foto  ---
❏  (A) Polfilter für 300/4 @kaufen
❏  (B) EOS-Bilder neu nummerieren @computer
------------------------hier-bitte-absprengen------------------------

Ziel erreicht... aber ein paar kleine Schönheitsfehler würde ich
gerne bereinigen, wenn es nicht zu viel Aufwand ist:

1. Ich brauche keine Kästchen vor Leerzeilen und Überschriften.

2. Die Überschriften müssen nicht beschnitten werden.

Ich habe leider so gar keine Ahnung wie ich das - insbesondere
bei einem Einzeiler - angehen könnte.


Also nur, wenn am Anfang eine Ziffernfolge steht? Das sollte gehen:

todo.sh -p pv | sed 's/^[0-9]\+/❏ /'

Das cut kannst Du dir auch gleich sparen.


3. Gerne würde ich auch mit

todo.sh -p pv | cut -c 3- | sed 's/^/❏ /' | lpr -p

direkt an den Printer senden, doch dann wird das UTF-8-Zeichen für
das Kästchen nicht erkannt (Fragezeichen statt Kästchen). Scheint so
als würde das von lpr geschluckt...

Möglicherweise wird das Kästchen nicht in ein Zeichen umgesetzt
und deshalb wird es durch ein Fragezeichen ersetzt. Zum Drucken
ist dann vielleicht '[ ]' besser geeignet.

Viele Grüße,
Christian


Reply to: