Valószínűleg valami szép regexp lesz, de nem jutok vele dűlőre. Arra lenne szükségem, hogy sima szöveges fájlok végén megkeressem az 1-nél több entert, s cseréljem 1-re (de ez utóbbi manuális munka is lehet, mert nem lesz sok).
- 1474 megtekintés
Hozzászólások
sed -n 'H;${g;s/\n*$//;p}'
- A hozzászóláshoz be kell jelentkezni
Köszi! Huh ez majdnem jó, csak betesz a file elejére egy plusz entert.
- A hozzászóláshoz be kell jelentkezni
Ja, tényleg. Ez már nem:
sed -n '1h;1!H;${g;s/\n*$//;p}'
- A hozzászóláshoz be kell jelentkezni
Nagyon köszi!
- A hozzászóláshoz be kell jelentkezni
lassú de legalább csak keres :)
dosos és unixos dupla sorvégekre is:
for i in *.txt; do
if
tail -c3 $i |\
tr '\r\nrn' 'rn '|\
grep -qE '(.nn|nrn)'
then
echo $i
fi
done
- A hozzászóláshoz be kell jelentkezni
Köszönöm! :)
- A hozzászóláshoz be kell jelentkezni
Hogy legyen awk demo is:
awk 'BEGIN { RS="\n+" } { print }'
- A hozzászóláshoz be kell jelentkezni
Ez nálam minden üres entert kivesz. Ilyen teszt fájlon néztem:
----
function() {
}
?>
----
- A hozzászóláshoz be kell jelentkezni
Bocs, ugy latszik, nem olvastam el rendesen a feladatot :-)
Meg lehetne ezt is csinalni awk-val, csak mar bonyolultabb lenne, mint a sed-es valtozat.
- A hozzászóláshoz be kell jelentkezni
Több karakterből áll, de mennyivel olvasmányosabb!
awk 'BEGIN { RS="lo@t neked, nem RS-t!"} { print gensub( /\n\n+$/, "", "")}'
- A hozzászóláshoz be kell jelentkezni
Már rég meg van oldva. Ilyenkor már fölösleges újabb rossz megoldásokat beírni szerintem :)
- A hozzászóláshoz be kell jelentkezni