Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

11.02.2013, 18:27

Cut & Paste

Hallo Zusammen

Könnte mir jemand behilflich sein folgendes zu scripten?

Ich habe eine Datei "test.txt". In dieser Datei steht ab Zeichen 36 ein zweistelliger Satzschlüssel z.B. "02".
wie kann ich ein Script ausführen, wo folgendes macht:
Schneide den Wert zwischen 37 und 39 aus und füge eine Kopie des Wertes am Anfang der Zeile ein. Dies für alle existierenden Zeilen.

danke und Gruss

Der Inhalt der Datei sieht z.B. so aus:



Zitat


JAP2000 - 30.10.20122012/V/55970 0108 NN

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

2

12.02.2013, 08:41

Wie sehen Deine bisherigen Versuche aus?
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

3

12.02.2013, 13:31

habe es mit sed und tr versucht... bin aber gescheitert.

habe es auch mit [Ctrl]+[y] ausprobier, quasi wie wenn man im VI etwas kopiert und dann wo der Cursor steht mit P einfügt

?(

4

21.02.2013, 09:12

Keine Antwort?

Kann mir hierbei niemand helfen?

Ich muss die fet markierten zweistelligen Zahlen auf den Anfang der Zeile kopieren. Sie stehen immer nach dem 35ten Zeichen und sind immer zweistellig:

AAP2000 - 15.01.20132013/U/00863 0101 YYN 1301151…..
AAP2000 - 15.01.20132013/U/00863 02RGROUP JAPAN LTD. …………
ERR11-3156-IN-SCHENK2012/V/60118 030020000001H4 H43516…………
ESR11-3156-IN-SCHENK2012/V/60120 04001001003Gioielleria in ar…………..
XAS11-3156-IN-SCHENK2012/V/60125 030030000001H4……………
SSR11-3156-IN-SCHENK2012/V/60125 02DGENORE…………….


:keineahnung:

5

22.02.2013, 15:53

Lösung gefunden

Lösung:


Ich preche ein AWK Script aus einem Shell-Script an:

Quellcode

1
2
3
4
5
for datei in /home/Kundenordner/Inbound/SCH* 
do 
awk -f /home/FTPAdmin/FrameScripts/AWK-SCRIPT.awk <$datei >$datei.txt 
mv $datei.txt $datei 
done


Das AWK-SCRIPT.awk beinhaltet:

Quellcode

1
2
3
{c1=substr($0,36,2); 
print "SHPMNT_" c1"_"$0; 
}


Dann sieht das Ganze so aus:

SHPMNT_01_AAP2000 - 15.01.20132013/U/00863 0101 YYN 1301151…..
SHPMNT_02_AAP2000 - 15.01.20132013/U/00863 02RGROUP JAPAN LTD. …………
SHPMNT_03_ERR11-3156-IN-SCHENK2012/V/60118 030020000001H4 H43516…………
SHPMNT_04_ESR11-3156-IN-SCHENK2012/V/60120 04001001003Gioielleria in ar…………..
SHPMNT_03_XAS11-3156-IN-SCHENK2012/V/60125 030030000001H4……………
SHPMNT_02_SSR11-3156-IN-SCHENK2012/V/60125 02DGENORE…………….

Thema bewerten