24小时热门版块排行榜    

查看: 1421  |  回复: 3

stractor

金虫 (著名写手)

[求助] sed提取部分行已有2人参与

不知道能不能通过sed实现我的要求。
我有一个几十万行的文件,想提取文件中部分行,想通过一个变量来控制提取的行。
我用 sed -n '$i, $i+99p' 或 sed -n '$i, ($i+99)p' 论如何都提取不了。这里 i 是一个赋值的变量。
有什么办法吗?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
stractor: 金币+5, ★★★很有帮助, 正在研究中 2014-12-13 13:47:19
使用awk吧
awk -v i=$i 'i<=NR && NR<=i+99{print}'
2楼2014-12-13 01:35:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stractor

金虫 (著名写手)

引用回帖:
2楼: Originally posted by jerkwin at 2014-12-13 01:35:31
使用awk吧
awk -v i=$i 'i<=NR && NR<=i+99{print}'

谢谢, 按你的指导,我正在看awk的用法。
3楼2014-12-13 13:32:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wpwupingwp

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
sed -n '$i, $i+99p'  
试试改成 sed -n '"$i","$i"+99p'
南无观世音菩萨
4楼2014-12-15 15:21:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 stractor 的主题更新
信息提示
请填处理意见