Mam pytanie dotyczące operatorów awk / sed. Mam duży plik, w którym powtarzają się następujące wiersze
Expression loweWallrhoPhi : sum=-6.97168e-09
Expression leftWallrhoPhi : sum=6.97168e-09
Expression lowerWallPhi : sum=-5.12623e-12
Expression leftWallPhi : sum=5.12623e-12
Expression loweWallrhoUSf : sum=-6.936e-09
Expression leftWallrhoUSf : sum=6.97169e-09
Expression lowerWallUSf : sum=-5.1e-12
Expression leftWallUSf : sum=5.12624e-12
Chcę wyodrębnić wartość po sumie w każdym przypadku w osobnym pliku. Czy można to zrobić za jednym razem?
text-processing
sed
awk
Pimpalgaonkar Hrushikesh
źródło
źródło
sum=
i to nie to samo, co wartość posum=
cut
:cut -d'=' -f2 file
.Jeśli poprawnie rozumiem pytanie, po którym chcesz uzyskać tylko wartości
=
, i przechowuję te wartości w osobnych plikach na podstawie drugiego pola (?). Jeśli mam rację, spróbuj czegoś takiego:Wynik:
źródło
-c
opcją (tryb zgodności z tradycyjnym systemem UNIX, wawk
którym rozszerzenia GNU są wyłączone). Upewnij się, że zaktualizowałeś plik wejściowy, ponieważ pierwotne pytanie było edytowane, a puste wiersze usunięte.Możesz to zrobić przez
sed
Skrypt znajduje dwa fragmenty w linii:
:
powinien zawierać niektóre (więcej niż 0) symbole spacji;=
;i sformatuj z jego polecenia wykonania, które zostało przesłane przez potok do
bash
źródło