napisałem następujący awk do drukowania linii z linią meczu aż EOFlinie drukować w pliku z linii meczu do końca pliku
awk '/match_line/,/*/' file
Jak mogę zrobić to samo w sed?
napisałem następujący awk do drukowania linii z linią meczu aż EOFlinie drukować w pliku z linii meczu do końca pliku
awk '/match_line/,/*/' file
Jak mogę zrobić to samo w sed?
sed -n '/matched/,$p' file
awk '/matched/,0' file
to za naprawdę starej wersji GNU sed na Windows
wersji GNU sed 2,05
http://www.gnu.org/software/sed/manual/sed.html
-n only display if Printed
-e expression to evaluate
p stands for Print
$ end of file
line1,line2 is the range
! is NOT
abc
def
ghi
needle
want 1
want 2
Drukuj linia dopasowanie i następujące linie do końca pliku
>sed.exe -n -e "/needle/,$p" haystack.txt
needle
want 1
want 2
ROZP.DRUKOWANIA pliku aż do, ale nie w tym pasującej linii
>sed.exe -n -e "/needle/,$!p" haystack.txt
abc
def
ghi
ROZP.DRUKOWANIA pliku włącznie pasującej linii
>sed.exe -n -e "1,/needle/p" haystack.txt
abc
def
ghi
needle
Drukuj wszystko po dopasowaniu linii
>sed.exe -n -e "1,/needle/!p" haystack.txt
want 1
want 2
Dzięki: lepsze wyjaśnienie niż sprawdzone. FWIW, kolejny przykład (który niestety nie sformatuje multilinii :-( '# pokaż globalne/atrybuty plików niektórych skompresowanych plików netCDF'' ' DIR = '/ asm/ROMO/cdc/2008cdc/smoke_out/2008ab_08c/12US1/cmaq_cb05_soa/'' ' FN =' emis_mole_all_2008 * '' ' dla GZ w $ (znajdź "$ {DIR}" -maxdepth 1-type f -name "$ {FN}" | sort); wykonaj ' ' echo -e "Przetwarzanie $ {GZ}, start = $ (data)" ' ' GZ_FN = "$ (basename $ {GZ})" ' ' NETCDF_FN = "$ {GZ_FN% .gz}" ' ' cp $ {GZ} ./ ' ' gunzip ./$ {GZ_FN} ' ' ncdump -h ./${NETCDF_FN} | sed -ne '/ global attributes /, $ p'' 'echo # nowa linia między plikami' 'done' – TomRoche
@englebart +1 Naprawdę dobra odpowiedź, dzięki! –