Банальная задача - вывести строки из файла от N до конца, но tail такое не может. Можно конечно заморочиться примерно так:
num_line=550
current_count_lines=`cat $file | wc -l`
let tail_count=$x-$num_line
tail -n $tail_count $file
Вполне рабочий вариант, если бы не одно но - мне надо вызывать его раз в 3-15 сек для обработки лога, который быстро растет и какова вероятность, что к моменту проведения всех рассчетов, количество строк в файле изменится?, а если измениться, то $tail_count выведет не те строки
И тут выясняется, что awk может решить поставленную задачу, дык еще и в одну строку:
awk "NR>$num_line" $file
Собственно вместо знака больше/меньше можно поставить равно, тогда такая конструкция
awk "NR=2" $file
Дает такой же результат как и эта:
head -n 2 $file | tail -n 1
Комментариев нет:
Отправить комментарий