免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2598 | 回复: 6
打印 上一主题 下一主题

删除指定位置的前三行和后三行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-01 02:12 |只看该作者 |倒序浏览
怎样删除指定位置的前三行和后三行?

sed "/abc/d;n;d;n;d"

这样它会一直删除下去,怎样让它停下来呢?
还有 我用 sed "/abc/d'n;d"  怎么是隔一行删除一行呢? n 不是打印下一行吗?

[ 本帖最后由 26933062 于 2007-7-1 02:17 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-07-01 11:34 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2007-07-01 12:48 |只看该作者

回复 2楼 寂寞烈火 的帖子

[size=-1]法王 给的链接里面大部分都是用 awk 的,我要用sed  找到一个

sed -n "$(($(sed -n "/^3/=" aaa.txt)-2)),$(($(sed -n "/^3/=" aaa.txt)+3))p" aaa.txt | more>bbb.txt


却怎么也运行不成功,可以讲解一下吗?
$(($(sed -n "/^3/=" aaa.txt)-2)),$(($(sed -n "/^3/=" aaa.txt)+3))

这里应该是给的地址范围吧, 相当与 1,6 但是怎么是$开头呢?什么意识?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2007-07-01 13:47 |只看该作者
原帖由 26933062 于 2007-7-1 12:48 发表
[size=-1]法王 给的链接里面大部分都是用 awk 的,我要用sed  找到一个



却怎么也运行不成功,可以讲解一下吗?
$(($(sed -n "/^3/=" aaa.txt)-2)),$(($(sed -n "/^3/=" aaa.txt)+3))

...

try:

  1. n=10
  2. sed  -i "$((n-3)),$((n+3))"d urfile
复制代码

论坛徽章:
0
5 [报告]
发表于 2007-07-01 16:42 |只看该作者

回复 4楼 寂寞烈火 的帖子

烈火兄,为何我这样运行都不行,是sed版本的问题吗? 该怎样查看版本?

sed -i "$((5-3)),$((5+3))" aaa.txt|more>bbb.txt

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2007-07-01 17:02 |只看该作者
原帖由 26933062 于 2007-7-1 16:42 发表
烈火兄,为何我这样运行都不行,是sed版本的问题吗? 该怎样查看版本?


1, 你的sed命令少了个d命令,而且你写的也有问题
2, 建议你看置顶十二篇里的sed
3, sed --version

论坛徽章:
0
7 [报告]
发表于 2007-07-02 01:04 |只看该作者
#!/bin/bash
file=$1
set `sed -n '$=' $file`
end=`expr $1 - 3`
sed -n '3,'$end'p' $file
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP