linux中怎么读取文本,linux – 如何从bash中的文本文件中读取第n行?

使用头部和尾部

$head -2 inputFile | tail -1

5 6 7 8

要么

一般化版本

$line=2

$head -"$line" input | tail -1

5 6 7 8

使用sed

$sed -n '2 p' input

5 6 7 8

$ sed -n "$line p" input

5 6 7 8

它能做什么?

> -n禁止模式空间的正常打印.

>’2 p’指定行号,2或($line用于更一般),p命令用于打印当前模式空间

>输入输入文件

编辑

要将输出转换为某个变量,请使用一些命令替换技术.

$content=`sed -n "$line p" input`

$echo $content

5 6 7 8

要么

$content=$(sed -n "$line p" input)

$echo $content

5 6 7 8

获取bash数组的输出

$content= ( $(sed -n "$line p" input) )

$echo ${content[0]}

5

$echo ${content[1]}

6

使用awk

也许awk解决方案可能看起来像

$ awk -v line=$line 'NR==line' input

5 6 7 8

感谢Fredrik Pihl提出的建议.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值