| Autor | Nachricht | 
  
    |  | 
        
					| Titel: sed Variable  Verfasst am: 12.03.2007, 11:31 Uhr |  | 
  
    | 
        
          | 
  
 Anmeldung: 09. Apr 2005
 Beiträge: 203
 
 
 |  | 
        
          | KDE hat in .directory Eine Zeile Icon=absoluter Pfad zum Ordner-icon Ich will aber nen relativen Pfad ./xy.png. Grund dürfte klar sein: Jedesmal wenn ich den Ordner verschiebe, findet KDE das Icon nicht mehr, wenn es im Ordner selbst liegt (und da gehört es IMHO auch hin).
 Alles klar? Also:
 Mit find bekomme ich ja rekursiv (genial) eine schöne Liste der absoluten Pfade zu .directory und mit grep die jeweiligen Zeilen mit Icon=...
 Den Verzeichnisnamen zum png, den mir dirname gibt, will ich durch ./  mit sed ersetzen. Für sed bin ich aber zu dum. Meine Variable a enthält also meinetwegen "/home/witwe/Bilder/JennaJameson/" (jetzt seid Ihr wieder wach, was?). Wenn ich in einer Zeile was mit $a mache, begreift er den Inhalt aber anscheinend nicht als Text, sondern als Pfadname.
 Dann hatte ich noch die Idee, die Zeile 'Icon=...' einfach die komplette Zeile durch eine andere zu ersetzen (wäre wohl am elegantesten).
 sed '... c\
 Ersatzzeile\
 '
 Haut aber nicht hin (nix passiert).
 |  
          | _________________
 unsensibel, aber empfindlich
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: RE: sed Variable  Verfasst am: 12.03.2007, 12:39 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 11. Jul 2006
 Beiträge: 117
 
 
 |  | 
        
          | sed 's/'"$a"'/'"$b"'/g' 
 so solts gehn, oder so
 
 sed 's?'"$a"'?'"$b"'?g'
 
 gruß  brummer
 |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel: RE: sed Variable  Verfasst am: 12.03.2007, 15:44 Uhr |  | 
  
    | 
        
          | 
  
 Anmeldung: 09. Apr 2005
 Beiträge: 203
 
 
 |  | 
        
          | Wird heut abend gleich ausprobiert. Melde mich aber nur wieder, wenns nicht geklappt hat. Sonst mußte ich mich aus Scham leider umbringen.
 |  
          | _________________
 unsensibel, aber empfindlich
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel:  Verfasst am: 12.03.2007, 18:31 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 12. Mar 2005
 Beiträge: 368
 
 
 |  | 
        
          | Das wird so nicht funktionieren: sed 's/'"$a"'/'"$b"'/g'
 Eine Variable zwischen ticks (') wird nicht ausgewertet, müßtest schon so schreiben:
 sed "s/$a/$b/g"
 Da es sich bei den Variablen aber um Pfade, also mit (/) im Namen handelt, funktioniert Dieses so auch nicht!
 
 sed ist es aber letztendlich egal, wie die Such- und Ersetzungsstrings voneinander getrennt werden,
 das Trennungszeichen selbst darf nur im Text nicht vorkommen, oder mußt es mit (\) entwerten:
 sed "s|$a|$b|g"; sed "s@$a@$b@g"; sed "sÜ$aÜ$bÜg"
 
 funktioniert alles, in deinem Fall würde ich das pipe-Zeichen nehmen (|)
 |  
          | _________________
 Gruss an alle Kanotix-Fans, blauweiss
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel:  Verfasst am: 12.03.2007, 18:49 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 11. Jul 2006
 Beiträge: 117
 
 
 |  | 
        
          | hätst es besser ma probiert   sed 's/'"$a"'/'"$b"'/g'
 die ticks sind für 's/'  '/'  '/g' , und die variablen sind einfach als text declaliert "$a"  "$b" , sie stehen auserhalb der ticks und werden von der bash ausgewertet!
 ich schließe so aber dieses problem aus
 
 Zitat: 
das Trennungszeichen selbst darf nur im Text nicht vorkommen, oder mußt es mit (\) entwerten:
 
 
 gruß   brummer
  |  
          |  |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
    |  | 
        
					| Titel:  Verfasst am: 13.03.2007, 15:41 Uhr |  | 
  
    | 
        
          | 
 
 Anmeldung: 12. Mar 2005
 Beiträge: 368
 
 
 |  | 
        
          | Ja, hätt ich besser mal probiert, Dieter Nuhr läßt grüssen...   Nie geglaubt das sowas funktioniert, aber das tut es definitiv!
 Muß ich mir unbedingt merken.
 |  
          | _________________
 Gruss an alle Kanotix-Fans, blauweiss
 |  
         
	        |  |  | 
  
    |  | 
  
    |  | 
  
  
    |  |