Použijte awk. cat myfile | awk '{print $1}' | grep query
Pokud můžete použít awk
, zkuste toto:
text.txt
--------
Product Cost
Abc....def 10
Abc.def 20
ajsk,,lll 04
With only awk:
awk '$1 ~ /^Abc.*def$/ { SUM += $2 } END { print SUM } ' test.txt
Result: 30
With grep and awk:
grep "^Abc.*def.*\d*$" test.txt | awk '{SUM += $2} END {print SUM}'
Result: 30
Vysvětlení:
awk
přečte každý řádek a porovná první sloupec s regulárním výrazem (regulární výraz)- První sloupec musí začínat na Abc, za ním následuje cokoliv (nula nebo vícekrát) a končí na def
- Pokud je taková shoda nalezena, přidejte 2. sloupec do proměnné SUM
- Po přečtení všech řádků vytiskněte proměnnou
Grep extrahuje každý řádek, který začíná Abc, následuje cokoli, následuje def, následuje cokoli, za kterým následuje číslo (nula nebo vícekrát) na konec. Tyto linky jsou napájeny/potrubí do awk. Awk pouze zvýší SUM pro každý řádek, který obdrží. Po přečtení všech přijatých řádků vytiskne proměnnou SUM.
Ionic android build Error – Nepodařilo se najít proměnnou prostředí „ANDROID_HOME“.
Výpis všech běžících procesů na serveru pomocí PHP