Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Duff
- Beiträge: 6321
- Registriert: 22.03.2005 14:36:03
- Wohnort: /home/duff
Beitrag
von Duff » 24.07.2007 09:56:39
Hallo,
ich möchte folgendes, was ich unter einem "normalen" Linux-OS machen kann, auch unter HP-UX realisieren.
Code: Alles auswählen
daniel> var=`echo "abc" "def"`
daniel> echo $var
abc def
daniel> echo $var|sed -e 's/ /\n/g'
abc
def
Unter HP-UX geschieht aber folgendes:
Jemand ne Idee, wie man das Problem hier lösen kann???
Zuletzt geändert von
Duff am 24.07.2007 13:15:04, insgesamt 1-mal geändert.
Oh, yeah!
-
becke
- Beiträge: 365
- Registriert: 29.11.2004 11:55:04
- Wohnort: Ostwestfalen
Beitrag
von becke » 24.07.2007 10:54:20
Das liegt an der sed-Version, unter linux ist es "gsed", hier auf der SUN geht's auch nicht.
Ein Ärgernis...
Konsolenlösung:
Code: Alles auswählen
$ echo $var |sed -e 's/ /\[HIER ENTER DRÜCKEN]
becke2@BFE-UX01 > /g'[HIER ENTER DRÜCKEN]
abc
def
Scriptlösung:
Code: Alles auswählen
#!/bin/ksh
var=`echo "abc" "def"`
echo $var |sed -e 's/ /\
/g'
Gruß,
Becke
-
Duff
- Beiträge: 6321
- Registriert: 22.03.2005 14:36:03
- Wohnort: /home/duff
Beitrag
von Duff » 24.07.2007 12:15:12
Danke. Werde es mal so probieren.
Habe mich aber für diese Variante in meinem Shell-Skript entschieden
...naja, ein fast Shell-Skript
Oh, yeah!
-
Duff
- Beiträge: 6321
- Registriert: 22.03.2005 14:36:03
- Wohnort: /home/duff
Beitrag
von Duff » 04.03.2009 15:19:20
Mmh...ich habe nun eine Datei, die aus einer Zeile besteht und in der über 5000 Character sind. Nun will ich nach jedem Leerzeichen einen Zeilenumbruch/Newline-Zeichen einfügen.
Das Beispiel von becke funktioniert hier unter HP-UX bei einer Variablen auch, bei dem File mit 5000 Character aber nicht. Bekomme aber auch keine Fehlermeldung.
Ist die Zeile vielleicht einfach zu lang?
Kann die Datei im vi nicht öffnen, da immer kommt line too long.
Oh, yeah!
-
habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von habakug » 04.03.2009 15:29:00
Hallo!
"Line Too Long" means there is a line with 1024 or more characters
on it, and vi (like many UNIX utilities) breaks at 1024 characters.
If you get "Line Too Long", you can't edit the file with vi.
Gruß, habakug
http://world.std.com/help/cmd/vi/vi-intro.shtml
-
Duff
- Beiträge: 6321
- Registriert: 22.03.2005 14:36:03
- Wohnort: /home/duff
Beitrag
von Duff » 04.03.2009 15:58:53
Ja, ja, aber trifft dies dann auch auf sed zu?
Oh, yeah!