免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: real_me
打印 上一主题 下一主题

bash如何得到文件中的某一行? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-02-11 23:52 |只看该作者
正如nbrr所说,可能需要一个中间文件.为了避免文件重名的问题,可以用进程号作为文件的一部分,在完成任务以后删除.
比如可以命名为YourCommand.$$.

论坛徽章:
0
12 [报告]
发表于 2007-02-12 14:18 |只看该作者
关于Your-Command | sed -n -e '10p' ,这里10是第十行,
如果我想从第n行拿出来,n是个变量,用Your-Command | sed -n -e '$np' 肯定不行把

论坛徽章:
4
技术图书徽章
日期:2013-09-23 10:22:37狮子座
日期:2013-10-15 23:31:54卯兔
日期:2013-11-11 17:33:15金牛座
日期:2013-11-15 17:25:28
13 [报告]
发表于 2007-02-12 20:52 |只看该作者
Your-Command | sed -n -e $n'p'
andyrui 该用户已被删除
14 [报告]
发表于 2007-02-13 11:11 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
15 [报告]
发表于 2007-02-13 16:48 |只看该作者
有个比较笨的方法,你看能用不?

i=1   #定义一个行计数器
cat filename |while read line
do
#判断是不是你想要的那一行,进行相应的处理
i=`expr $i + 1`
done

这样的效率也不是很好,每次要从第一行开始读,进行判断的

[ 本帖最后由 linux_gao 于 2007-2-13 16:52 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2007-02-22 10:58 |只看该作者
这样行不:提示输入一数(你想要指定的行数)将其定义为一个变量,放在上面的程序中

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
17 [报告]
发表于 2007-02-22 15:51 |只看该作者
原帖由 grljt 于 2007-2-22 10:58 发表
这样行不:提示输入一数(你想要指定的行数)将其定义为一个变量,放在上面的程序中

可以
/home/lee#echo 'please input number of line:';read line;echo 'a
> b
> c
> d
> e
> f'|awk 'NR=='"$line"''
please input number of line:
1
a
/home/lee#

BTW:多看置顶十三问/十二篇
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP