#1 28.06.2018 17:52:01

Andy@Arch
Mitglied

Script: Zeilenumbruch oder neue Zeile (gelöst)

Brauche mal Hilfe beim Bashscript. Möchte eine Textdatei für Conky aufbereiten, also muss in jeder Zeile auch der richtige Inhalt stehen.
Mein Problem ist das in der Quelldatei gelegentlich aber nicht immer längere Sätze vorkommen.

Die Zeile auslesen und den Zeilenumbruch bekomme ich hiermit hin

sed -ne '7p;23p;41p;57p' /tmp/test.txt | fold -sw 40  > /tmp/test2.txt

Nun brauch ich eine entweder oder Funktion, welche mir entweder eine neue Zeile oder bei mehr wie 40 Zeichen einen Zeilenumbruch macht.

Beitrag geändert von Andy@Arch (30.06.2018 11:25:53)

Offline

#2 28.06.2018 18:44:48

Schard-nologin
Gast

Re: Script: Zeilenumbruch oder neue Zeile (gelöst)

Was ist der Unterschied zwischen einem Zeilenumbruch und einer neuen Zeile?

#3 28.06.2018 19:42:47

brikler
Mitglied

Re: Script: Zeilenumbruch oder neue Zeile (gelöst)

Schard-nologin schrieb:

Was ist der Unterschied zwischen einem Zeilenumbruch und einer neuen Zeile?

eine neue zeile kriegst du wenn du eol (end of line) mit enter einfügst
einen zeilenumbruch gibts, wenn die maximale zeichenzahl pro zeile erreicht ist, das sollte man beim editor anpassen können.

@te
das müsstest du bei deinem edtor einstellen können, wann er die zeile umbricht

Beitrag geändert von brikler (28.06.2018 19:47:39)

Offline

#4 28.06.2018 19:54:27

Andy@Arch
Mitglied

Re: Script: Zeilenumbruch oder neue Zeile (gelöst)

brikler schrieb:

@te
das müsstest du bei deinem edtor einstellen können, wann er die zeile umbricht

nix Editor, das wird mit Sed ausgelesen und in Conky dargestellt, wenn der Satz zu lang ist verschwindet er im Nirwana.

@Schard-nologin Zeilenumbruch bedeutet das der Satz in der nächsten Zeile weiter geht, neue Zeile heißt das einfach eine Leere Zeile eingefügt wird, Den ganzen Aufwand betreibe ich damit der nachfolgende Inhalt nicht um ein oder mehrere Zeilen verschiebt.

Beitrag geändert von Andy@Arch (28.06.2018 19:59:14)

Offline

#5 28.06.2018 20:01:41

tschakkaman
Gast

Re: Script: Zeilenumbruch oder neue Zeile (gelöst)

sed ist die abkürzung für streaming editor

#6 29.06.2018 18:54:53

Andy@Arch
Mitglied

Re: Script: Zeilenumbruch oder neue Zeile (gelöst)

Hab da mal was gebastelt funktioniert nur nicht wie es soll.

if [ "sed -ne '143p' /tmp/test1.txt |wc -m" > "41" ]
	then
		sed -ne '143p' /tmp/test1.txt | fold -sw 40 > /tmp/test2.txt
	else
		sed -ne '143p' /tmp/test1.txt > /tmp/test2.txt
		echo -e " " >> /tmp/test2.txt
fi

irgendwas mach ich bei der Bedingung falsch, jemand 'ne Idee?



Edit:hab die Fehler in der Syntax gefunden, so funktioniert es.

if [ $(sed -ne '143p' /tmp/test1.txt |wc -m)  -gt 41 ]
	then
		sed -ne '143p' /tmp/test1.txt | fold -sw 40 > /tmp/test2.txt
	else
		sed -ne '143p' /tmp/test1.txt > /tmp/test2.txt
		echo -e " " >> /tmp/test2.txt
fi

Beitrag geändert von Andy@Arch (30.06.2018 11:32:28)

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums