Chystám se odeslat formulář pomocí cURL, kde část obsahu pochází z jiného souboru, vybraného pomocí sed
Pokud param1
je vzor pro shodu řádků z jiného souboru pomocí sed
, níže uvedený příkaz bude fungovat dobře:
curl -d param1="$(sed -n '/matchpattern/p' file.txt)" -d param2=value2 http://example.com/submit
Nyní přejděte k problému. Chci zobrazit pouze text mezi 2 shodnými vzory s výjimkou samotného shodného vzoru.
Řekněme file.txt
obsahuje:
Bla bla bla
firstmatch
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
secondmatch
The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English.
V současné době je spousta „shodujících se vzorů mezi 2“ sed
příkaz neodstraní firstmatch
a secondmatch
.
Chci, aby výsledek byl:
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
Přijatá odpověď:
Zde je jeden způsob, jak to můžete udělat:
sed '1,/firstmatch/d;/secondmatch/,$d'
Vysvětleno:Od prvního řádku po řádek odpovídající první shodě , smazat. Z řádku odpovídající secondmatch do posledního řádku smazat.
Rozdíl mezi ‚A‘ na příkazovém řádku (bash)??
Která služba Systemd spouští textovou konzoli na zařízení Framebuffer?