linux读取指定行文件,linux – 从文件中读取指定的行范围

本文探讨了使用SED命令进行文本处理的不同方法。通过对比两种SED命令的执行效率,文章展示了如何更高效地选择并打印文件中特定行范围的方法。实验结果显示,采用特定的SED命令语法能够显著提高处理速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sed '5555,7777!d'

这将打印包含文件的行5555-7777.

丹尼斯发表以下内容我同意应该更快:

sed’5555,7777p; 7778q’文件名

以下证据表明它应该更快:

$n=1

$while [[ n -le 100000 ]]; do echo $n >> sedtest2; n=$((n + 1)); done

$strace -e trace=read -o sed1 sed '5555,7777!d' sedtest2

$strace -e trace=read -o sed2 sed '5555,7777p; 7778q' sedtest2

$wc -l sed1

149 sed1

$wc -l sed2

14 sed1

仅在Bash中(为了好玩):

n=1

while read line; do

if [[ ($n -ge 5555) && ($n -le 7777) ]]; then

echo $line

elif [[ $n -gt 7777 ]]; then

break

fi

n=$(( $n + 1 ))

done < file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值