Sziasztok!
egy kis segítség kellene:
vannak fájlok egy könyvtárban, ezekben a fájlokban sed-del módosításokat csinálok, amit elmentek egy másik fájlba.
Hogy érthetőbb legyek, íme a script:
a=`ls /konyvtar`
for i in $a
do
j=`cat /konyvtar/${i} | grep "KeresettMinta" |sed 'bizonyos dolgokat kiveszek, es bizonyos dolgokat beteszek, a lenyeg, hogy csv legyen a vegen'`
if /konyvtart/${i} | grep "KeresettMinta"
then
echo "KeresettMinta;${i}${j}" >> /valmi/KeresettMinta.txt
fi
done
A gondom az, hogy amikor kiírom ennek a scriptnek a tartalmát, akkor azt szeretném ,hogy minden sorban legyen benne a KeresettMinta(mint szöveg);Fájl neve(ez a $i); majd a keresett sor($j), de csak egy sorban írja ki, hogy KeresettMinta(mint szöveg);Fájl neve(ez a $i); majd a keresett sor($j) és ezután már csak a keresett sor($j) sorokat írja a fájlba, egészen addig, amíg nem jön egy új fájl, de az új fájlnál is ezt csinálja stb...
Hogy tudnám ezt megoldani, hogy minden sor elé betegye a kívánt szöveget és kívánt változókat.
És meg egy fontos, $j esetén a sed mind esetben globális(sed 's///g')
köszönöm
- 1917 megtekintés
Hozzászólások
Lehet, hogy tévedek, de mintha az $i változóban a fajl neve lenne, a $j-ben meg a fájl tartalma. Amikor az echo-val kiíratod, szerintem leírja a mintát, majd a fájlnevet, végül a fájl tartalmát.
A kívánt hatást talán úgy tudnád elérni, ha a fájl tartalmán is soronként végiglépegetnél.
- A hozzászóláshoz be kell jelentkezni
köszönöm, végül PERL felhasználásával meg tudtam csinálni
- A hozzászóláshoz be kell jelentkezni
Ja, hogy még perlül is beszélsz, és így akartál grepetsedbeésvissza?
Ejnye no! :)
- A hozzászóláshoz be kell jelentkezni
:)
- A hozzászóláshoz be kell jelentkezni
Mivel egy órát sem aludtam, most nem vagyok képes értelmezni a specifikációdat, de sugallatként is felfogható hangos gondolkodással beszállok: ha valaki tudja kezelni a reguláris kifejezéseket, ezáltal a grepet és a sedet, és a kimenet átirányitása sem idegen számára, akkor az a valaki miért nem awk szkriptet ír nyögvenyelős processzforkolgatás helyett?
- A hozzászóláshoz be kell jelentkezni