Portál AbcLinuxu, 1. června 2025 01:40
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.