VI-Editor ...Brauche Hilfe

Dieses Thema im Forum "Unix Derivate & sonst. Unix Fragen" wurde erstellt von andrzey, 29.08.2006.

  1. #1 andrzey, 29.08.2006
    andrzey

    andrzey Grünschnabel

    Dabei seit:
    29.08.2006
    Beiträge:
    3
    Zustimmungen:
    0
    Hi.....

    Ich habe folgendes Problem bzw. Aufgabenstellung:

    Ich habe eine TextDatei (400Seiten lang), die mit dem vi-Editor bearbeitet werden soll bzw. wird.
    Nun soll in der Datei in JEDER Zeile nach dem 5ten Zeichen, ein Blank eingefügt werden....


    Wie kriegt man sowas hin? bin ein ziemlicher Newbie auf diesem Gebiet und wäre dankbar für Lösungsvorschläge ;-)

    Danke schonmal!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    # = Kommentar
    Code:
    ESC
    $ # Gehe an den Anfang der Zeile.
    ESC:qa  # Aufname deiner Tasten in Register a
    →→→→→ # gehe zum 5.Zeichen (cursortaste)
    a # Zeichen nach Cursorpos eingeben. Append
     # blank eingeben
    ESC
    ↓$q #Zeile nach unten, $ -> Anfang, q für Aufnahme ende.
    1000@a #1000 mal das aufgenommene Makro in Register a ausführen
    
    Und mach's erst mit einer Testdatei.
     
  4. #3 Wolfgang, 29.08.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    vi kann genau wie sed ersetzen.
    Gruß Wolfgang
     
  5. #4 andrzey, 30.08.2006
    Zuletzt bearbeitet: 30.08.2006
    andrzey

    andrzey Grünschnabel

    Dabei seit:
    29.08.2006
    Beiträge:
    3
    Zustimmungen:
    0
    Hi!

    Danke erstmal ;-)
    Habs hinbekommen.....
    Habe es folgendermaßen gelöst:

    map q 04la ^[j


    @Wolfgang: Könntest du zum Verständnis deine Zeile nochmal kurz erläutern und sagen was die einzelnen Teile jetzt im Genaueren machen? ...Würde mich mal interessieren....

    @Johannes: Deine Lösung funktionier leider nicht, da die Aufnahme von Makros nur bei VIM funktioniert.. Ich habe nur einen standard vi-editor auf nem Unix-Server zur Verfügung...
    Das Problem was jetzt noch besteht.... ich muss die "q" taste (bei meinem Befehl) immernoch 400mal drücken... und da man ja bekanntlich faul ist, würd ich dieses Makro gerne wiederholen.... ;-)

    Jemand ne Idee???



    Mfg
     
  6. #5 Wolfgang, 30.08.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ja kann ich. ;)
    <ESC> -> bedeutet, dass du die Escape-Taste betätigen sollst ;)
    :1,$ -> wende nachfolgenden Befehl auf Zeile 1 bis Dateiende an
    s/^\(.....\)\(.*\)/\1 \2/g ->Das ist der Ersetzungsbefehl: (habe noch eine kleine Korrektur eingefügt)

    Ersetze fünf Zeichen vom Beginn der Zeile (erster Klammerausdruck mit .....) gefolgt von weiteren Zeichen (zweiter Klammerausdruck .*) durch die erste Referenz \1 -> was im ersten Klammerausdruck steht= ersten 5 Zeichen, einem Leerzeichen und dem Rest ->steht in \2.
    Das g besagt, dass es auf die gesamte Zeile angewendet werden soll.
    Also habe ich schlicht über Reguläre Ausdrücke ein Leerzeichen nach fünf Zeichen eingefügt. Und das von Zeile 1 bis zum Dateiende.
    ^\(.....\) fängt fünf Zeichen am Zeilenanfang
    \(.*\) fängt den Rest

    Das geht extrem flink und spart Tipperei.
    Wenn das alles ist, was du mit dieser Datei machen willst, kannst du das auch mit sed machen.

    Gruß Wolfgang
     
  7. #6 andrzey, 30.08.2006
    andrzey

    andrzey Grünschnabel

    Dabei seit:
    29.08.2006
    Beiträge:
    3
    Zustimmungen:
    0
    Jo.... Danke! Das sollte reichen! :-)

    Vielen Dank für eure Hilfe

    Bye
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

VI-Editor ...Brauche Hilfe

Die Seite wird geladen...

VI-Editor ...Brauche Hilfe - Ähnliche Themen

  1. vi-Editor-Befehl

    vi-Editor-Befehl: :hilfe2: Hi! Ich verzweifel gerade an folgender Aufgabenstellung: "Fügen Sie im vi-Editor die Antwort in die Zeilen ein OHNE DIESE ZU...
  2. FSFE: Bundesnetzagentur will Verbraucher entmündigen

    FSFE: Bundesnetzagentur will Verbraucher entmündigen: Die Free Software Foundation Europe sieht den aktuellen Entwurf der »Transparenzverordnung« der Bundesnetzagentur als Legitimierung einer...
  3. Brauche 2 Skripte

    Brauche 2 Skripte: Hallo Zusammen Ich bin nicht der Programmierer, eher nur der "veränderer". Ich wollte fragen ob mir jemand 2 Skripte Schreiben kann (muss nicht...
  4. Brauche Hilfe bei Lösunge einer Aufgabe

    Brauche Hilfe bei Lösunge einer Aufgabe: In der Dateil /etc/passwd sind zeilenweise alle User aufgelistet. Der Name ist dabei vom Zeilenanfang bis zum ersten Doppelpunkt. Erstellen Sie...
  5. Brauche hilfe bei einen Shell Script "-eq Parameter"

    Brauche hilfe bei einen Shell Script "-eq Parameter": Hallo miteinander, bin Neuling in shell Programmierung und brauche etwas Hilfe: und zwar möchte ich einige Zeilen aus einer Datei "user.db"...