Anzeige:
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 16 bis 30 von 38

Thema: Bin neu hier! Habe Problemm mit "sed"

  1. #16
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    was so nur fast funktioniert (zumindest mit dem GNU Echo)

    Mit
    Code:
    echo -e "1. Zeile\n2. Zeile"
    gehts.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  2. #17
    Registrierter Benutzer
    Registriert seit
    07.06.2004
    Ort
    Stammheim
    Beiträge
    43
    Tatsächlich, die bash scheint die Option zu brauchen.
    In der ksh und zsh funktioniert es auch ohne.

  3. #18
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ok. Dann korrigier ich mich mal

    Gnu Bash echo. Hmm. Hat sogar eine Manpage - ich dachte das sei ein eigenes Programm das für alle Shells gleich ist. Aber das ist eigentlich egal.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #19
    Registrierter Benutzer
    Registriert seit
    07.06.2004
    Ort
    Stammheim
    Beiträge
    43
    Dachte ich bis zu deinem Posting auch :-) (man lernt eben jeden Tag was...)
    Da ich hauptsächlich mit der Korn-Shell arbeite, ist mir es noch gar nie aufgefallen das es die -e Option für sowas braucht.
    Unter HP-UX und Solaris (habe schnell nachgeschaut) gibt es diese Option gar nicht. Aber ist doch schön zu wissen das jedes Unixartige System seine kleinen Besonderheiten hat, das macht es interessanter ;-)

  5. #20
    Registrierter Benutzer
    Registriert seit
    05.06.2004
    Ort
    mainaschaff
    Beiträge
    109

    Wink Hi leute ich bin's wieder!

    Ich habe gestern den ganzen Tag gegoogelt vieles gefunden, aber wie man $PATH nach eine bestimmte Datei durchsucht konnte ich nicht finden . Kann mir jeman sagen wie das geht? Den befehl habe ich irgend wo gesehen, aber leider vergessen wo und wie der heißt!

    Übrigens habe ich eine antwort auf meine frage gefunden. Es gibt ein festes zeichen fuer eine neue Zeile: "\n" funktioniert überal (ich dachte anfangs es währe nur für den befähl echo bestimmt)

  6. #21
    Registrierter Benutzer
    Registriert seit
    07.06.2004
    Ort
    Stammheim
    Beiträge
    43
    Wenn das File executabel ist kannst du "which" benutzen.
    Wenn nicht dann z.B.
    find $(echo $PATH | tr ":" " ") -name name_des_files -maxdepth 1 -follow

  7. #22
    Registrierter Benutzer
    Registriert seit
    05.06.2004
    Ort
    mainaschaff
    Beiträge
    109

    Thumbs up Danke!

    Hat geklappt!
    Allerdings wenn ich das eingebe:
    Code:
    find $(echo $PATH | tr ":" " ") -name gproftpd -maxdepth 1 -follow
    bekomme ich das raus:
    Code:
    /usr/sbin/gproftpd
    find: /usr/bin/rview: No such file or directory
    find: /usr/bin/rvim: No such file or directory
    find: /usr/bin/view: No such file or directory
    Aber egal ich habe einfach den Befähl verändert in:
    Code:
    # find $(echo $PATH | tr ":" " ") -name gproftpd
    kommt das was ich brauche raus:
    Code:
    /usr/sbin/gproftpd
    Danke für die Hilfe!
    Ich habe mir schon gedacht das es mit find gehen soll aber wusste nicht wie!

    Was die andere Methode angeht, die muss ich noch lernen!

  8. #23
    Registrierter Benutzer
    Registriert seit
    07.06.2004
    Ort
    Stammheim
    Beiträge
    43
    Um die Fehler zu unterdrücken könntest du auch ein
    2>/dev/null
    dranhängen

  9. #24
    Registrierter Benutzer
    Registriert seit
    05.06.2004
    Ort
    mainaschaff
    Beiträge
    109

    Wink Du hast wie immer recht!

    ich habe gar nicht an "2>" gedacht!

    thx noch mal!

  10. #25
    Registrierter Benutzer
    Registriert seit
    05.06.2004
    Ort
    mainaschaff
    Beiträge
    109

    Question Verstehe nicht wo das problem liegt

    Ich verstehe nicht wo hier das Porblem ist:
    Code:
    search=$(find $(echo $PATH | tr ":" " ") -name testapp)
    sed '19,2721 p' $search > $HOME/.kde/share/apps/testapp/testapp
    datei wird nciht erstellt $HOME/.kde/share/apps/testapp/testapp
    obwohl
    Code:
    cat $HOME/.kde/share/apps/testapp/testapp
    kann das lesen

    kann das daran liegen. dass die Zeilen 19 bis 2721
    alle mit einem # Zeichen vorne sind?

    wenn ich aber alle # Zeichen vorne weg nehme, dann funktioniert testapp nicht!

  11. #26
    Registrierter Benutzer
    Registriert seit
    07.06.2004
    Ort
    Stammheim
    Beiträge
    43
    2 Dinge:

    1.
    sed '19,2721 p' $search
    wird nicht funktionieren du müsstest statt der Variable ein File angeben.

    2.
    sed arbeitet Zeilenorientiert. Wenn du
    search=$(find $(echo $PATH | tr ":" " ") -name testapp)
    machst, wird das Ergebnis ohne Zeilenubrüche in der Variable gespeichert (prüfe das mal mit "echo $search").

    D.h. selbst wenn 1. funktionieren würde, ginge es wegen 2. nicht

    Du könntest aber bei 2. ein ein temporäres file speichern...

  12. #27
    Registrierter Benutzer
    Registriert seit
    05.06.2004
    Ort
    mainaschaff
    Beiträge
    109

    Unhappy Hmm

    Aber sed kann das auslesen:
    Code:
    sed '19,2721 p' $search
    und $HOME/.kde/share/apps/testapp/testapp ist so zu sagen temporertes Datei
    oder habe ich da was falsch verstanden!

  13. #28
    Registrierter Benutzer
    Registriert seit
    07.06.2004
    Ort
    Stammheim
    Beiträge
    43
    okok, vieleicht habe ich dich falsch verstanden...

    du willst sed auf das 1 file anwenden welches in $search steht.
    (dann wird die abfrage gefährlich wenn find mehrere Resultate zurückliefert)

    Du willst also Zeilen 19-2721 in einem File speichern?
    sed -n '19,2721p' $search > dein_outputfile

    das File von $search darf allerdings nicht wieder dein outputfile sein,
    sonst kriegst du ein leeres file

    greex

  14. #29
    Registrierter Benutzer
    Registriert seit
    05.06.2004
    Ort
    mainaschaff
    Beiträge
    109

    Wink Wie machst du das?

    wieso habe ich nicht daran gedacht -n zu benutzen

    gefählich kann ess eigendlich nicht werden, weil es nur eine solche datei geben wird!

    Danke für die schnelle Hilfe.

    MfG
    chapaev

  15. #30
    Registrierter Benutzer
    Registriert seit
    07.06.2004
    Ort
    Stammheim
    Beiträge
    43
    gefählich kann ess eigendlich nicht werden, weil es nur eine solche datei geben wird!
    das sagen sie am Anfang alle

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •