- Zeichen 56 mal wiederholen (ksh)

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

- Zeichen 56 mal wiederholen (ksh)

Beitrag von Duff » 18.02.2009 08:54:25

Hallo,

ich will in einem ksh-Script bei der Ausgabe unter der "Überschrift" ca. 56 mal das Zeichen - wiederholen (HP-UX System).
Kann nur leider keinen entsprechenden Befehl finden, wie z.b. unter perl.

Danke & Gruß,
Daniel
Oh, yeah!

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: - Zeichen 56 mal wiederholen (ksh)

Beitrag von Meillo » 18.02.2009 09:23:44

Duff hat geschrieben:ich will in einem ksh-Script bei der Ausgabe unter der "Überschrift" ca. 56 mal das Zeichen - wiederholen (HP-UX System).
Kann nur leider keinen entsprechenden Befehl finden, wie z.b. unter perl.
mir fällt auch keiner ein

Du könntest dir selbst ein kleines Script schreiben das die Aufgabe abdeckt. In etwa so:

Code: Alles auswählen

#!/bin/sh
#
# echo a line of supplied length

len=80
[ $# -eq 1 ] && len=$1

for i in `seq $len` ; do
  printf '-'
done
echo
Use ed once in a while!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: - Zeichen 56 mal wiederholen (ksh)

Beitrag von Duff » 18.02.2009 09:28:58

Ok, danke.

Dann werde ich wohl auf eine Wiederholung des Zeichens im vi zurückgreifen müssen, da bei printf nicht 58 mal das Zeichen - eingeben muss.

Schade eigentlich, in perl gibt es sowas...
Oh, yeah!

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: - Zeichen 56 mal wiederholen (ksh)

Beitrag von Meillo » 18.02.2009 10:11:21

Duff hat geschrieben:Dann werde ich wohl auf eine Wiederholung des Zeichens im vi zurückgreifen müssen, da bei printf nicht 58 mal das Zeichen - eingeben muss.
Warum nicht das Script verwenden? Du willst doch ein Kommando auf Shell-Ebene -- damit hast du eines.

Oder willst du es im `vi'?

Dann mache es so:

Code: Alles auswählen

i
Überschrift schreiben
ESC
yy
p
56r-
oder

Code: Alles auswählen

i
Überschrift schreiben
ESC
yy
p
:s/./-/g
Du kannst dir ja ein Macro dafür schreiben.
Use ed once in a while!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: - Zeichen 56 mal wiederholen (ksh)

Beitrag von Duff » 18.02.2009 10:21:15

Habe das Zeichen - im vi mit ybewegung markiert und mit 56p eingefügt.

Ich habe im Skript eine Ausgabe mit printf, wo zuerste eine Art Überschrift ausgegeben wird, dann sollen die -Zeichen als "Trenner" kommen und dann kommt der Rest.


Sorry, ich hatte mich wohl nicht deutlich genug ausgedrückt.
Oh, yeah!

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: - Zeichen 56 mal wiederholen (ksh)

Beitrag von Meillo » 18.02.2009 11:04:57

Duff hat geschrieben:Ich habe im Skript eine Ausgabe mit printf, wo zuerste eine Art Überschrift ausgegeben wird, dann sollen die -Zeichen als "Trenner" kommen und dann kommt der Rest.
Die einzige Möglichkeit mit printf die mir einfällt ist:

Code: Alles auswählen

printf "%060d"
Aber das funktioniert nur mit Nullen.

Ersetzen könnte man das im Nachhinein dann mit:

Code: Alles auswählen

:/^00*$/s/0/-/g

Ich kenne das Problem das du hast und habe mir auch schon oft eine einfache Lösung dafür gewünscht. Schließlich taucht es bei tabellarischer Ausgabe von Daten in C regelmäßig auf.
Use ed once in a while!

Antworten