免费注册 查看新帖 |

Chinaunix

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

perl从文件取行号? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-30 16:26 |只看该作者 |倒序浏览
一、将文件按行分成若干文件:
total.txt内容如下:
1 nmap -sP -PI 60.171.108.1 >;>; clientStatus.txt
2 nmap -sP -PI 211.141.244.1 >;>; clientStatus.txt
3 nmap -sP -PI 61.191.159.1 >;>; clientStatus.txt
4 nmap -sP -PI 218.22.129.1 >;>; clientStatus.txt
5 nmap -sP -PI 218.23.44.1 >;>; clientStatus.txt
6 nmap -sP -PI 218.22.237.1 >;>; clientStatus.txt
7 nmap -sP -PI 220.178.201.1 >;>; clientStatus.txt
8 nmap -sP -PI 218.22.218.1 >;>; clientStatus.txt
9 nmap -sP -PI 60.171.72.1 >;>; clientStatus.txt
10 nmap -sP -PI 220.179.244.1 >;>; clientStatus.txt
11 nmap -sP -PI 60.173.64.1 >;>; clientStatus.txt
12 nmap -sP -PI 61.191.214.1 >;>; clientStatus.txt
13 nmap -sP -PI 218.23.212.1 >;>; clientStatus.txt
14 nmap -sP -PI 220.179.248.1 >;>; clientStatus.txt
15 nmap -sP -PI 60.194.85.1 >;>; clientStatus.txt
16 nmap -sP -PI 61.51.196.1 >;>; clientStatus.txt
17 nmap -sP -PI 211.155.137.1 >;>; clientStatus.txt
18 nmap -sP -PI 218.247.206.1 >;>; clientStatus.txt
19 nmap -sP -PI 219.238.110.1 >;>; clientStatus.txt
1.如何将其平均分成4分?
2.指定具体的行范围分成若干行(1-3,2-5,6-11.....)?

二、提取某行(或某范围行)及其行号
如提取“nmap -sP -PI 218.23.44.1 >;>; clientStatus.txt”及其行号“5”

nmap -sP -PI 60.171.72.1 >;>; clientStatus.txt
nmap -sP -PI 220.179.244.1 >;>; clientStatus.txt
nmap -sP -PI 60.173.64.1 >;>; clientStatus.txt
及其行号范围9、10、11(最好能表示为“9,11”

论坛徽章:
0
2 [报告]
发表于 2005-09-30 17:30 |只看该作者

perl从文件取行号?

这个好像用shell比较好一点

论坛徽章:
0
3 [报告]
发表于 2005-09-30 17:49 |只看该作者

perl从文件取行号?

awk与sed当然容易实现,不过现在windows平台下想用perl实现
因为装cygwin很麻烦(网络不好,^_^)

论坛徽章:
0
4 [报告]
发表于 2005-09-30 18:29 |只看该作者

perl从文件取行号?

gnuwin32.sourceforge.net  有 Win32 的 awk 和 sed。

论坛徽章:
0
5 [报告]
发表于 2005-09-30 22:24 |只看该作者

perl从文件取行号?

用一个数组按照行来读出文件内容,然后处理这个数组而已

论坛徽章:
0
6 [报告]
发表于 2005-10-01 00:05 |只看该作者

perl从文件取行号?

ocean2000 能说得详细点吗?
用数组读文件的内容好像只读取到$array[0]中

[quote]原帖由 "ocean2000 "]用一个数组按照行来读出文件内容,然后处理这个数组而已[/quote 发表:

论坛徽章:
0
7 [报告]
发表于 2005-10-01 00:09 |只看该作者

perl从文件取行号?

[quote]原帖由 "subs"]gnuwin32.sourceforge.net  有 Win32 的 awk 和 sed。[/quote 发表:



gnuwin32的东西实在不能跟bash或其他shell下的同一命令的实用性相比

再说了,我们要用的是perl,为哈要在perl版大力推shell呢?

论坛徽章:
0
8 [报告]
发表于 2005-10-01 03:40 |只看该作者

perl从文件取行号?

[quote]原帖由 "joefun"]用数组读文件的内容好像只读取到$array[0]中[/quote 发表:

不知道你从哪里得到的这种结论
直接把文件copy到array
或者在读文件的循环中$.就是行号
也可以用tie::File来读文件,也是把文件读入array,不过这个文件的大小可以大于内存

论坛徽章:
0
9 [报告]
发表于 2005-10-01 12:32 |只看该作者

perl从文件取行号?

一年半没有写程序了,这个你看看
open(F,"cgi.lst" || die "can't open!\n";
@cgi=<F>;;
close F;
数组@cgi就是文件的内容.

论坛徽章:
0
10 [报告]
发表于 2005-10-01 14:10 |只看该作者

perl从文件取行号?

perl操作文件时,能不能直接删文件中的空行后在被操作的文件中生效,
而不用写入另外一个文件?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP