Portál AbcLinuxu, 26. října 2025 19:06
Mam takovy maly problemek, potreboval bych porovnat dva soubory error.list a unitBoot.log a vypsat vsechny radky ve kterych se vyskytuji dana slova ze seznamu v error.listu.
Napr:
cat error.list
out of range
error
not found
...
Jde o to dokazat dana slova najit mezi ostatnima na radku. Predpokladam nejaky for loop a grep nebo nawk.
man grep
...
-f FILE, --file=FILE
Obtain patterns from FILE, one per line. The empty file con‐
tains zero patterns, and therefore matches nothing.
P.S.: Navíc ještě nefunkčního.
BTW: Cela funkce je psana pro ksh
$ cat error.list kuku huhu $ cat unit.log uhuh kuku yuguy uiwhihweih $ findMsg kuku $ grep -f error.list unit.log uhuh kuku yuguyTomu já říkám nefunguje, neodpovídá zadání a je to přímo zbírka špatných postupů.
['of', 'range', 'error', 'not', 'found', 'out']tak tady to je.
python << oznac_tohle_cele_mysi_a_zkopiruj_na_prikazovou_radku
words = {}
for line in file('error.list'):
for word in line.split():
words[word] = None
for line in file('unitBoot.log'):
for word in line.split():
if words.has_key(word):
print line.rstrip()
break
oznac_tohle_cele_mysi_a_zkopiruj_na_prikazovou_radku
Však chleba to neptá.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.