本帖最后由 kangwenyi 于 2013-06-06 14:42 编辑 tcp 1 0 10.6.8.100:57220 10.6.8.161:8080 CLOSE_WAIT tcp 1 0 10.6.8.100:57293 10.6.8.161:8080 CLOSE_WAIT tcp 1 0 10.6.8.100:57127 10.6.8.161:8080 CLOSE_WAIT tcp 1 0 10.6.8.100:57053 10.6.8.161:8080 CLOSE_WA...
by kangwenyi - Perl - 2013-06-12 10:19:01 阅读(1955) 回复(12)
抄一个吧......每一行都是优美的杰作! 替换 将所有C程序中的foo替换成bar,旧文件备份成.bak perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c 很强大的功能,特别是在大程序中做重构。记得只有在UltraEdit用过。 如果你不想备份,就直接写成 perl -p -i -e 或者更简单 perl -pie, 恩,pie这个单词不错 将每个文件中出现的数值都加一 perl -i.bak -pe 's/(\d+)/ 1 + $1 /ge' file1 file2 .... 将换行符\r\n替换成\n perl -pie 's/...
最近研究perl的单行代码,命令行使用,发现perl真是强大,网上讲到perl的单行代码举例最多的是Abigail@fnx.com 提供的: perl -le 'print "PRIME" if (1 x shift) !~ /^(11+)\1+$/' 19 但是有点疑问就是为什么1 x shift是打印出来19个连续的1呢。其他都还好明白。 我对这段代码改些成 perl -le 'print "prime" if($ARGV[0]%2)' 19 我觉得要更紧凑更易懂一点。 想不通Abigail@fnx.com当时为什么那么写。
精简的代码,虽然可读性不好,但是绝对高效,发挥才思。 一些不同凡响的Unix狂的一个业余爱好就是研究怎样把程序压缩到单行来完成。那些精通perl 的程序员 能很好地做到这一点。例如一个测试素数的程序: perl -le 'print "PRIME" if (1 x shift) !~ /^(11+)\1+$/' 19 Abigail@fnx.com 贡献了这段代码放在perl Journal 的 http://www.itknowledge.com/tpj/one-liners01.html. 你可以把19替换为你想要的最后一个数字。 Per...
统计字段总数
awk一句话中的:
awk '{total=total+NF};END {print total+0}'
用perl基本也是实现了目的。[code]#!/usr/bin/perl -w
use warnings;
use strict;
open(INFILE,"999")||die"Error opening datafile 999!";
my $sum;
while(my $line=
单行命令:perl -le 'print "imgdata/system/app/livewaremanager.apk"'|perl -F'/' -lane 'print $` if /$F[-1]/' 得到:imgdata/system/app/ 如何将这个单行命令使用到脚本当中? 谢谢!
perl -e 'if ("hello there, neighbor" =~ /\s(\w+),/) {print "($`)($&)($').\n";}' -bash: syntax error near unexpected token `)' 这种情况下,$' 应该怎么写才能表示出来?
windows的DOS下执行里面的语句提示出错: perl -e 'print "hello, World"' can't find string terminator "'" anywhere before EOF at -e line 1. 看字面意思是找不到字符串的结束标志 ' 。可是上面明明有了啊。 新手提问,请理解。谢谢。