Portál AbcLinuxu, 5. listopadu 2025 20:30
cat soubor | wc -l | tail -n 1
Tohle bych jako "pomocí tail" určitě neoznačil. Co třeba takhle?
aux=`mktemp`
l=0
while ! cmp -s "$aux" "$file"; do
tail -n $[++l] "$file" >"$aux"
done
rm -f "$aux"
echo $l
Případně bez pomocného souboru, ale méně spolehlivě:
l=0
read fhash garbage < <(sha512sum "$file")
while true; do
read lhash garbage < <(tail -n $l "$file" | sha512sum -)
if [ $lhash = $fhash ]; then break; fi
: $[l++]
done
echo $l
Samozřejmě by to šlo ještě vylepšit třeba tím, že se půjde po mocninách dvojky a jakmile se hash přestane měnit, přejdeme na půlení intervalu.
haha to je mega:)
D.
wc -l souborale pokud tam ten tail musí být:
wc -l soubor | tail
nl SOUBOR | tail -n 1 | cut -f 1
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.