LINUX.ORG.RU

Имеешь файл "text.txt". Надо выдать строку 3.

1.
Что такое "средствами шелл" ? Шелл сам по себе для таких задач
не приспособлен.

Можешь извратиться типа:
(read A; read A; read A; echo $A) < text.txt
(это если ты под оригинальным sh. Под bashем можно, типа,
цикл организовать, и передавать 3 параметром)

Сдается мне, под "средствами шелл" ты понимаешь "из-под shell, используя
стандартные команды UNIX". Тогда -- скоко хош. Например,

1) sed 3,3\!d text.txt

2)cat ext.txt| head -n 3 |tail -n 1

3) Во изврат, мне понравилось:
N=3;while true; do read A; N=`expr $N - 1`;if [ $N == 0 ];then echo $A; break; fi; done <text.txt
из-под bashа работает, проверил)

Ну и т.д. и т.п.

anonymous
()
Ответ на: комментарий от anonymous


Очепятки вкрались:(

2)cat text.txt| head -n 3 |tail -n 1

3) Во изврат, мне понравилось:
N=3;while true; do read A; N=`expr $N - 1`;if [ $N = 0 ];then echo $A; break; fi; done <text.txt
(из-под bashа работает, проверил)

anonymous
()

Спасибо!
Сам догадался пока ответ ждал:
head -n N text.txt | tail -n 1
ИМХО проще всего...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.