1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Problem mit der Ausgabe einer for i in $(find) ausgabe

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von Nachtmensch, 20.07.08.

  1. Nachtmensch

    Nachtmensch Alkmene

    Dabei seit:
    25.11.07
    Beiträge:
    34
    Hallo,

    ich habe folgendes Problem:

    Code:
    for a IN "$( find /Applications -iname *.app -maxdepth 3 -type d )"; do echo $a; done
    [code]
    
    Liefert mir einen kompletten Textblock ohne \n zurück.
    
    Nun versuche ich mittels sed den Line Break nachzureichen
    
    [code]
    for a IN "$( find /Applications -iname *.app -maxdepth 3 -type d )"; do echo $a | sed 's/.app/.app\\n/'; done
    [code]
    
    Allerdings ohne Erfolg.
    Wie kann ich das bewerkstellingen. Möchte die Ausgabe auch nicht erst in eine externe Datei umleiten!
    
    (PS Ausgabe schaut so aus:
    
    /Applications/iChat.app /Applications/Quicktime.app /Applications/iCal.app
    
    soll aber so ausschauen
    
    /Applications/iChat.app
    /Applications/Quicktime.app
    /Applications/iCal.app
    
    )
     
  2. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.905
    Exakt, so hast du es mit den " " bestellt.

    Indem du das "word splitting" nicht durch die Anführungszeichen unterdrückst.
    Vorteilhafterweise aber nur bei Newlines.
    Code:
    IFS=$'\n';
    for item in $( some_list; ); do
      IFS=;
      another_list;
    done;
    IFS=;
     
  3. Nachtmensch

    Nachtmensch Alkmene

    Dabei seit:
    25.11.07
    Beiträge:
    34
    Vielen Dank. Das war genau das was ich gesucht habe!
     
  4. IceHouse

    IceHouse Ribston Pepping

    Dabei seit:
    30.09.04
    Beiträge:
    297
    Viele Wege fuehren nach Rom.

    mdfind -onlyin /Applications kMDItemKind = "Application"

    Gruss von IceHouse
     

Diese Seite empfehlen