Kezdenék legózni a sed-del. pl.: sed -e 's/sarga/kek/g' file1.txt >file1kek.txt
Szöveges fájlok egyetlen sorának változtatása parancssorban [Megoldva]
kltHát ez nagyon tuti, egy sor. Már csak meg kell etetni egy halom txtvel és annyi. Jut eszembe valahol azt olvastam nincs olyan feladat amire az AWK ne lenne jó... Ez most már 3 külön út ugyan arra a feladatra.
bartasziliJa, ilyen a Lego :) find *.txt | while read -r nev; do sed -e 's/sarga/kek/g' $nev > $nev.kek.txt; done Aztán még ezt is lehet kalapálni, hogy tényleg jó legyen.
pnem"Sajnos, a while-t nem értem, " Eredetile find -exec {} izébizé alapján próbáltam összehebrákolni, de nem ment a második behelyettesítés. Ezért ciklust rettyintettem, hogy értsd: find *.txt megkeresi a szöveges fájljaidat. a | jel a find kimenetét becsatornázza a másik program bemenetére, ami a ciklus.. while read -r nev; Amíg van mit olvasni a bemenetről, beolvassa a "nev" változóba. Lehetne akármi a neve, én nev-nek neveztem. Innentől $nev a hivatkozás, és az helyettesíti az aktuális fájlnevet, amin dolgozol. do után jön a teendő: do sed -e 's/sarga/kek/g' $nev > $nev.kek.txt; Tehát, ha a nev=Fajl1.txt, akkor a parancs valóságos kinézete: sed -e 's/sarga/kek/g' File1.txt > File1.txt.kek.txt done pedig lezárja a ciklust. Lehet, hogy valami ilyesmire van szükséged: find *.txt | while read -r nev; do sed -e 's/sarga/kek/g' $nev > ${nev//Sarga/Kek}; done (Ezt most még nem próbáltam ki, csak okoskodás...)