SOS - Batch sor torlese...

Hello,

az egyik szerveren tomegesen kellene cserelni fajlokbol sort.
Ket valasztasom van kezzel, vagy valami szkripttel.

Mivel nem vagyok ITs, mezei kozgazdasz leven nem sokat konyitok a batch irashoz.

Eloszor is egy fajlbol kikellene vagni hogy melyik fajl a hibas:

Error processing file: /appok/mysql/mysql2/processor/logs/mysql-audit.log.110622121212dbam

Innen ki kellene szednie a patcht, a dbam a vegen nem kell, megnyitni es abbol torolni ezt:

110609 02:09:01 Connect @ Existing Connection

az eleje datum az valtozik, de a Connect... az minidg ugyanaz, az egesz sort kellene kivagni a fajlbol.

Tud valaki segiteni?

Jah es valami regebbi redhat van a gepeken, a bash telepitve van azt tudom..

Csaba

Hozzászólások

Szerintem:

Torles:
for i in `cat filelist.txt`;do
sed -i "/.*Connect @ Existing Connection/d" $i;
done

Ha jol ertem, az erroros hibauzenet pedig szinten egy file-ban van es abbol kell kibanyaszni a szukseges file nevet.
A fentihez a file lista:
grep "Error processing file: /appok/mysql/mysql2/processor/logs/mysql-audit.log" | awk '{ print $4}'| sed 's/dbam$//' > filelist.txt

Elotte mentes kell a file-okrol.

Miert nem azzal csinaljatok, akinek ez a dolga es ert hozza? Kozgazos letedre tudhatnad, h penz beszel, kutya ugat...

tompos

awk '/Error processing file: .*dbam/ {print "sed -i '\''/^[0-9]\\{6\\} \\([0-9][0-9]:\\?\\)\\{3\\} Connect @ Existing Connection/'\'' " gensub(".*: (.*)dbam","\\1","g")}' EGYFÁJL
# kimenete kb:
sed -i '/^[0-9]\{6\} \([0-9][0-9]:\?\)\{3\} Connect @ Existing Connection/' /appok/mysql/mysql2/processor/logs/mysql-audit.log.110622121212

Amit le lehet futtatni. Sok sor esetén a sorok átirányítása tmpfileba, majd sh tmpfile.

Persze TIMTOWTDI.

HTH