如何使用bash脚本打印出某一行的数据?

时间:2012-03-12 14:02:43

标签: file bash

我有一个100k行的txt文件。如果我想知道第24356行的数据是什么样的,我该如何在命令行中执行此操作?

3 个答案:

答案 0 :(得分:3)

您可以获得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]"

答案 1 :(得分:2)

sed可以打印指定的行范围,因此在这种情况下它将是sed -n 24356,24356p $FILE

答案 2 :(得分:2)

试试这个:

cat filename | head -24356 | tail -1

使用的命令应该在每个* nix系统上都可用