Порылся в man, ничего не нашел.
Проблема такая: есть файл со строками, хочу из него выбрать, например, строки 800, 1768, 15323.
Есть ли какая-нибуль команда, которая выбирает строки из файла по номеру?
Из того, что сам надумал:head -n <номер строки 1> /var/src/test1.txt | tail -n 1
head -n <номер строки 2> /var/src/test1.txt | tail -n 1
head -n <номер строки 3> /var/src/test1.txt | tail -n 1работает, только если файл большой придется его много раз молотить
Второй вариант не заработал, а так хотелось:
cut -f <номер строки 1>,<номер строки 2>,<номер строки 3> -d "\n" /var/src/test1.txt
Может есть команда типа cut, чтоб ей номера строк задать и файл, а она из него строки выдала?
>Порылся в man, ничего не нашел.
>Проблема такая: есть файл со строками, хочу из него выбрать, например, строки
>800, 1768, 15323.
>Есть ли какая-нибуль команда, которая выбирает строки из файла по номеру?
>Из того, что сам надумал:
>
>head -n <номер строки 1> /var/src/test1.txt | tail -n 1
>head -n <номер строки 2> /var/src/test1.txt | tail -n 1
>head -n <номер строки 3> /var/src/test1.txt | tail -n 1
>
>работает, только если файл большой придется его много раз молотить
>
>Второй вариант не заработал, а так хотелось:
>
>cut -f <номер строки 1>,<номер строки 2>,<номер строки 3> -d "\n" /var/src/test1.txt
>
>Может есть команда типа cut, чтоб ей номера строк задать и файл,
>а она из него строки выдала?
sed, awk, perl, cc...
>
>sed, awk, perl, cc...Вот такие варианты придумал:
awk 'NR==10 || NR==16 { print $0 }' /var/src/test1.txt
sed -n -e '10p;16p' /var/src/test1.txt
Вроде работает. Правда медленнее, чем то, что у меня было написано на php. А думал, что будет быстрее. Ну да ладно.
А для таких же недалеких, как я вот нашел приятное место:
http://www-106.ibm.com/developerworks/linux/library/l-sed1.html