• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] mehrere Dateien mit SED verändern

Hi,
ich muss in mehreren dutzend Dateien jeweils eine Zahl ändern.(von 96 zu 32 )
Sagen wir alle diese Dateien haben die Endung *.a und ich will die jewils geänderte version der Datre in *.b speichern.
Habe es mit diesem Befehl versucht, hat aber nicht ganz funktioniert:

sed 's/96/32/g' *.a > *.b

Phlox[/code]
 
sed 's/96/32/g' *.a > *.b

probiers mal damit (ungetestet) (aber mach davor bitte ne Sicherheitskopie der Files, da ist schnell ne Datei geplättet)

for i in $(ls *.a); do sed 's/96/32/g' $i > $(basename $i).b

Gruß Dominik
 
arg , neugierig. Habs getestet. Hat bissl was gefehlt.

Probier folgendes, das geht:

for i in $(ls *.a); do sed 's/96/32/g' $i > $(basename $i .a).b; done

Gruß Dominik
 
wow .. die antwort ging ja schnell...
habs ausprobiert bekomme aber die Fehlermeldung
"Illegal variable name"
weist du woran das liegen könnte?
Außerdem will die Konsole das "do" immer zu "od" korrigieren
 
Code:
for i in *.a; do 
    perl -pe 's/96/32/g' $i >"${i%.a}.b";
done;
${..%..} ist doch SOVIEL einfacher als sich mit basename rumzuschlagen.
 
perfekt...
hat funktioniert...
danke nochmal an euch zwei
Ich bin immer wieder von solchen foren begeistert!!
 
Oben