Perl 单行编辑技巧
发布时间:2020-12-15 21:00:34 所属栏目:大数据 来源:网络整理
导读:Perl 有一些简单的单行技巧,可以帮助很方便的实现一些文件编辑查找。介绍几个常用的方法: C:perl -hUsage: D:Perlbinperl.exe [switches] [--] [programfile] [arguments] -0[octal] specify record separator ( ,if no argument) -a autosplit mode
Perl 有一些简单的单行技巧,可以帮助很方便的实现一些文件编辑查找。介绍几个常用的方法: C:&;perl -h Usage: D:Perlbinperl.exe [switches] [--] [programfile] [arguments] -0[octal] specify record separator ( ,if no argument) -a autosplit mode with -n or -p (splits $_ into @F) -C[number/list] enables the listed Unicode features -c check syntax only (runs BEGIN and CHECK blocks) -d[:debugger] run program under debugger -D[number/list] set debugging flags (argument is a bit mask or alphabets) -e program one line of program (several -e's allowed,omit programfile) -E program like -e,but enables all optional features -f don't do $sitelib/sitecustomize.pl at startup -F/pattern/ split() pattern for -a switch (//'s are optional) -i[extension] edit <> files in place (makes backup if extension supplied) -Idirectory specify @INC/#include directory (several -I's allowed) -l[octal] enable line ending processing,specifies line terminator -[mM][-]module execute "use/no module..." before executing program -n assume "while (<>) { ... }" loop around program -p assume loop like -n but print line also,like sed -P run program through C preprocessor before compilation -s enable rudimentary parsing for switches after programfile -S look for programfile using PATH environment variable -t enable tainting warnings -T enable tainting checks -u dump core after parsing program -U allow unsafe operations -v print version,subversion (includes VERY IMPORTANT perl info) -V[:variable] print configuration summary (or a single Config.pm variable) -w enable many useful warnings (RECOMMENDED) -W enable all warnings -x[directory] strip off text before #!perl line and perhaps cd to directory -X disable all warningsperl -ne 'scirpt' filename 循环读入文件并根据脚本处理每一行 perl -pe 'scirpt' filename 循环读入文件并根据脚本处理每一行,不同的是打印处理后每一行的内容
替换文件中每一行的字符串string1,并将原始文件备份为.bak。注意,替换的时候需要使用参数p perl -ne 'print if 1..10' filename 对文件的前10行处理,行数从1开始计算 perl -ne 'print if /START/../END/' filename 对文件内容,从包含START 行开始打印,到包含END行结束。如果包含多个这样的段落,都打印出来,如果没有行包含END,则打印到文件结束 最后看一下实际执行中的代码 D:Tmp>perl -MO=Deparse -ne "print if 1..10" test.pl LINE: while (defined($_ = <ARGV>)) { print $_ if 1 .. 10; } -e syntax OK D:Tmp>perl -MO=Deparse -pe "print if 1..10" test.pl LINE: while (defined($_ = <ARGV>)) { print $_ if 1 .. 10; } continue { print $_; } -e syntax OK (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |