как распечатать данные в определенной строке, используя скрипт bash? - PullRequest
1 голос
/ 12 марта 2012

У меня есть текстовый файл с 100k строк. Если я хочу узнать, как выглядят данные в строке # 24356, как я могу это сделать в командной строке?

Ответы [ 3 ]

3 голосов
/ 12 марта 2012

Вы можете получить определенную строку с помощью awk:

awk 'NR==24356{print;exit}' input_file

, которая напечатает строку и завершит работу, как только вы захотите получить номер записи NR, в противном случае она ничего не будет делать.exit гарантирует, что вы не будете без необходимости обрабатывать строки после интересующей вас.

Например, см. Следующую расшифровку:

pax> cat qq.sh
while read line
do
    echo "Reading within the loop: [$line]"
    echo -n "What do you want to say? "
    read -u 3 something
    echo "You input: [$something]"
done 3<&0 <qq.sh

pax> awk 'NR==2{print;exit}' qq.sh
do

pax> awk 'NR==3{print;exit}' qq.sh
    echo "Reading within the loop: [$line]"
2 голосов
/ 12 марта 2012

Попробуйте:

cat filename | head -24356 | tail -1

используемые команды должны быть доступны в каждой * nix системе

2 голосов
/ 12 марта 2012

sed может печатать заданные диапазоны строк, поэтому в этом случае это будет sed -n 24356,24356p $FILE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...