Ahoj. Mam takyto textovy subor1:
body
p
nejaky text
nejaky text
nejaky text
nejaky text
p
nejaky text
nejaky text
p
nejaky text
nejaky text
nejaky text
bodyend
Je to cosi ako html. Pomocou nasledujuceho sed skriptu "uzatvaram" bloky p:
sed 's/^p$/pend\np/; s/^bodyend$/pend\nbodyend/' subor1 > subor2
Vysledkom je toto:
body
pend
p
nejaky text
nejaky text
nejaky text
nejaky text
pend
p
nejaky text
nejaky text
pend
p
nejaky text
nejaky text
nejaky text
pend
bodyend
Popridaval tie pend co su konce blokov, ale jeden to hodilo aj na druhy riadok. Neviete ako pomocou sedu tento prvy pend odstranit? Skusal som uz vselico, napr "sed '/^body$/n;/^pend$/d;N' subor2" a pod. Neviete niekto napisat ten sed skript? Vdaka.
#! /bin/sh sed 's/^p$/pend\np/; s/^bodyend$/pend\nbodyend/' file.txt > file2.txt sed -i '/^body$/n;/^pend$/d;N' file2.txt
sed -i '/^bodyend$/i \ pend' file2.txt
sed -i \'/^bodyend$/i
ma byt spatne lomitko#! /bin/sh sed 's/^p$/pend\\np/; s/^bodyend$/pend\\nbodyend/' subor1 > subor2 sed -i '/^body$/n;/^pend$/d;N' subor2 sed -i '/^bodyend$/i\\ pend' subor2
da sa to urobit aj takto:#! /bin/sh sed '/^p$/i\\ pend /^body$/n /^bodyend$/i\\ pend ' subor1 > subor2