Anfängerfrage zu Bash-Script...

27/03/2014 - 10:20 von Horst Felder | Report spam
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.

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...

Vielleicht habt ihr ein paar Tipps für mich?

Mit freundlichen Grüßen
Horst Felder - www.h-felder.de
GNU/Linux; damit ich auch morgen noch vernünftig arbeiten kann!


Zum AUSTRAGEN schicken Sie eine Mail an debian-user-german-REQUEST@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listmaster@lists.debian.org (engl)
Archive: https://lists.debian.org/2014032710...b73f90f118@flohheim.de
 

Lesen sie die antworten

#1 Peter Funk
27/03/2014 - 10:50 | Warnen spam
Hallo Horst,

Horst Felder schrieb am Donnerstag, den 27.03.2014 um 10:15:
todo.sh -p pv | cut -c 3- | sed 's/^/❏ /' > testfest.txt


..^..^

Hier geht es um sogenannte 'Regular-Expressions', über die
es ganze Bücher gibt. Einen Einstieg in Deutsch findest Du
hier:
http://de.wikipedia.org/wiki/Regul%...r_Ausdruck

Wenn Du das '/^/❏ /' z.B. durch '/^\([^ =-]\)/❏ \1/'
ersetzt, werden nur noch die Zeilen bearbeitet, die
*NICHT* mit einem ' ', '=' oder '-' anfangen. Damit Du
regulàre Ausdrücke erfolgreich benutzen kannst, musst
Du die Meta-Zeichen .*^ []()\ usw. lernen.
Dann kannst Du Dir auch das 'cut' 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...



Das ist eine Sache des Encodings und der Filterung durch das
Spool-System. Da kann ich jetzt nicht schnell genug helfen,
weil mir Rand-Informationen (PostScript-Drucker oder nicht,
Cups-Version, Cups-Konfiguration, usw.) fehlen. Und ich bin
in CUPS auch nicht wirklich gut zuhause. Ich würde es mal
mit den Stichworten "utf-8", "encoding", "cups" und "lpr"
bei der Suchmaschine Deiner Wahl probieren.

Viele Grüße, Peter Funk
Peter Funk, home: ✉Oldenburger Str.86, D-27777 Ganderkesee
mobile:+49-179-640-8878 phone:+49-421-20419-0 <http://www.artcom-gmbh.de/>
office: ArtCom GmbH, ✉Haferwende 2, D-28357 Bremen, Germany


Zum AUSTRAGEN schicken Sie eine Mail an
mit dem Subject "unsubscribe". Probleme? Mail an (engl)
Archive: https://lists.debian.org/

Ähnliche fragen