Hallo Liste, wie muß ein Script lauten, das folgendes leistet: Datei einlesen (reihe für reihe) jeweils die letzten 10 (oder besser n) Buchstaben jeder Reihe cuttet, und das Ergebnis in eine andere Datei packt (wieder alle Reihen) ?? ICH weiß, das ist hier irgendwie OT. Ich weiß, ich sollte mir Script-Programmierung mal bebringen. Vielleicht antwortet ihr mir ja trotzdem. peter -- Peter M. Kruse - registered Linux User #96388 - Lest HOWTOs, MAN- und Info-Pages, SDB, Handbuecher. - Bitte kein Cc: bei Antwort an Liste ! -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
Hallo Peter, hallo Liste... "Peter M. Kruse" wrote:
Hallo Liste,
wie muß ein Script lauten, das folgendes leistet:
Datei einlesen (reihe für reihe) jeweils die letzten 10 (oder besser n) Buchstaben jeder Reihe cuttet, und das Ergebnis in eine andere Datei packt (wieder alle Reihen) ??
ICH weiß, das ist hier irgendwie OT. Ich weiß, ich sollte mir Script-Programmierung mal bebringen.
ich hoffe das nachfolgende kleine awk-Script hilft Dir weiter: cut_it.awk ========== BEGIN { CutSize = ARGV[2]; ARGV[2]=""} { # Ausgabe der letzten n-Zeichen # print substr($0, (length($0) - CutSize), CutSize) # Ausgabe ohne die letzten n-Zeichen print substr($0, 0, (length($0) - CutSize)) } Aufruf: awk -f cut_it.awk Datei Zeichen > Ausgabedatei z.B awk -f cut_it.awk /etc/profile 10 > /tmp/profile_gecuttet MfG. Jürgen -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
"Peter M. Kruse" wrote:
Hallo Liste,
wie muß ein Script lauten, das folgendes leistet:
Datei einlesen (reihe für reihe) jeweils die letzten 10 (oder besser n) Buchstaben jeder Reihe cuttet, und das Ergebnis in eine andere Datei packt (wieder alle Reihen) ??
ICH weiß, das ist hier irgendwie OT. Ich weiß, ich sollte mir Script-Programmierung mal bebringen.
hallo, wie waers mit cut? cut -c11-90 infile >outfile iehe auch: man cut o long... bernd -- ...ich habe jetzt herausgefunden, dass mir nichts mehr einfaellt... -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
"Peter M. Kruse" wrote:
Hallo Liste,
wie muß ein Script lauten, das folgendes leistet:
Datei einlesen (reihe für reihe) jeweils die letzten 10 (oder besser n) Buchstaben jeder Reihe cuttet, und das Ergebnis in eine andere Datei packt (wieder alle Reihen) ??
ICH weiß, das ist hier irgendwie OT. Ich weiß, ich sollte mir Script-Programmierung mal bebringen.
hallo, wie waers mit cut? cut -c11-90 infile >outfile iehe auch: man cut o long... bernd -- ...ich habe jetzt herausgefunden, dass mir nichts mehr einfaellt... -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
wie muß ein Script lauten, das folgendes leistet:
Datei einlesen (reihe für reihe) jeweils die letzten 10 (oder besser n) Buchstaben jeder Reihe cuttet, und das Ergebnis in eine andere Datei packt (wieder alle Reihen) ??
Folgendes Skript sollte es tun: #!/bin/bash if [ $# -lt 2 ] then echo "Aufruf: kuerzen eingabe ausgabe [anzahl]" fi if [ $# -lt 3 ] then a=10 else a=$3 fi sed Žs/.{$a}$//gŽ $1 > $2 Manfred Klim ---------------------------------- E-Mail: Manfred Klim <manfred.klim@gmx.de> Date: 28-Feb-99 Time: 16:19:51 This message was sent by XFMail ---------------------------------- -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
Am Son, 28 Feb 1999 schrieben Sie:
wie muß ein Script lauten, das folgendes leistet:
Datei einlesen (reihe für reihe) jeweils die letzten 10 (oder besser n) Buchstaben jeder Reihe cuttet, und das Ergebnis in eine andere Datei packt (wieder alle Reihen) ??
Folgendes Skript sollte es tun:
#!/bin/bash if [ $# -lt 2 ] then echo "Aufruf: kuerzen eingabe ausgabe [anzahl]" fi if [ $# -lt 3 ] then a=10 else a=$3 fi sed Žs/.{$a}$//gŽ $1 > $2
Manfred Klim oder mit einem perl-skript: (name: pkuerz)
<---------------------------- #!/usr/bin/perl open(FILE, $ARGV[0]) || &usage; while(<FILE>) { $TLINE = $_; chomp $TLINE; print substr("$TLINE", 0, $ARGV[1]) . "\n"; } sub usage { print <<"EOT" Usage: pkuerz 'FILE length' EOT } ---------------------------> -- Name: Florian Bartels E-Mail: Power-two@gmx.de Homepage: <A HREF="http://power-two.virtualave.net"><A HREF="http://power-two.virtualave.net</A">http://power-two.virtualave.net</A</A>> -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
On Sun, 28 Feb 1999, Manfred Klim wrote:
wie muß ein Script lauten, das folgendes leistet:
Datei einlesen (reihe für reihe) jeweils die letzten 10 (oder besser n) Buchstaben jeder Reihe cuttet, und das Ergebnis in eine andere Datei packt (wieder alle Reihen) ??
Folgendes Skript sollte es tun:
#!/bin/bash if [ $# -lt 2 ] then echo "Aufruf: kuerzen eingabe ausgabe [anzahl]" fi if [ $# -lt 3 ] then a=10 else a=$3 fi sed Žs/.{$a}$//gŽ $1 > $2
Das wuerde das Ende ABSCHNEIDEN. ERHALTEN geht dann mit sed 's/.*\(.{'$a'}\)$/\1/' $1 > $2 und ein "declare -i a" waere evtl auch praktisch (sicherer). Kuerzere Zeilen sollten einfach durchgeschleift werden. Gerhard Sittig -- If you don't understand or are scared by any of the above ask your parents or an adult to help you. empty subject, richtext, vcard, HTML messages > /dev/null -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux
participants (6)
-
Gerhard.Sittig@gmx.net
-
Illuminatus@t-online.de
-
Juergen.Schwarting@idbremen.de
-
manfred.klim@gmx.de
-
p.kruse@gmx.de
-
Power-two@gmx.de