加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

perl命令是perl语言解释器,负责解释执行perl语言程序

发布时间:2023-07-06 09:33:35 所属栏目:Linux 来源:网络
导读:   Linux常用命令perl命令是perl语言解释器,负责解释执行perl语言程序,下面为大家分享一下Linux常用命令perl命令具体使用方法。



  命令格式



   用法:perl [选项] [参数
  Linux常用命令perl命令是perl语言解释器,负责解释执行perl语言程序,下面为大家分享一下Linux常用命令perl命令具体使用方法。

  命令格式
 
   用法:perl [选项] [参数]
 
  常用选项
 
   -o 以八进制数形式指定输入记录的分隔符(也保存在perl中的特殊变量$/中)
 
   -a 当和-n或者-p一起使用时启动自动拆分模式.这种模式可以拆分输入的行,并把它们放置在名为@F的专门数组中
 
   -c 使perl检查脚本的语法,然后退出
 
   -C 使perl能够在目标系统中使用原始的宽字符API.
 
   -d 在perl调试程序下运行脚本
 
   -e 使用命令行,
 
   -F 如果使用了-a,该参数可以用来指定所拆分的模式
 
   -h 打印出所有选项的汇总
 
   -i 指出被结构处理的文本
 
   -I 使perl为模块搜索目录
 
   -l 添加行结束处理,当和-n与-p开关一起使用,这个开关能自动把$/从输入数据中删除,并把$\(输出记录分隔符)设置为octnum,这样打印语句就可以使用该分隔符了.
 
   -m[-]module 在执行脚本前,把指定模块包含在脚本中
 
   -n 让perl在脚本中试用while()循环
 
   -p 让perl把下面循环添加到脚本中:
 
   -P perl编译之前,通过C预设处理程序来运行自己的脚本
 
   -s 在命令行中允许要进行开关解析
 
   -S 让perl试用PATH环境变量来搜索脚本
 
   -T 强制打开错误检查
 
   -u 在编译了脚本后,导致perl清楚内核
 
   -U 允许perl进行不安全的操作,如删除目录等
 
   -v  打印出perl的版本及包的级别
 
   -V:name 打印出指定的配置变量的汇总
 
   -w 打印出警告信息
 
   -W 无论no warnings或$^W的状态是什么,都启动警告信息
 
   -x directory 通知perl脚本嵌入到消息中,文本不会被处理,知道第一行代码以#!开头并包含了字符"perl"
 
   -X 无论use warnings或$^W的状态是什么,都禁止警告信息
 
   – 可选, 表示使用的这些开关的结束位置
 
  参考示例
 
  解析Perl程序
 
   [deng@localhost tmp]$ perl test.sh
 
   hello world
 
   [deng@localhost tmp]$
 
  其它用法
 
   # perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c    #将所有C程序中的foo替换成bar,旧文件备份成.bak

   # perl -i.bak -pe 's/(\d+)/ 1 + $1 /ge' file1 file2 …    #将每个文件中出现的数值都加一

   # perl -pie 's/\r\n/\n/g' file   #将换行符\r\n替换成\n
 
   # perl -pie 's/\n/\r\n/g' file  #将换行符\n替换成\r\n

   # perl -lane 'print "@F[0..4] $F[6]"' file   #显示字段0-4和字段6,字段的分隔符是空格

   # perl -F: -lane 'print "@F[0..4]\n"' /etc/passwd     #字段分隔符不是空格而是冒号

   # perl -ne 'print if /^START$/ .. /^END$/' file   #显示START和END之间的部分

   # perl -ne 'print unless /^START$/ .. /^END$/' file   #不显示START和END之间的部分
 
   # perl -pe 'exit if $. > 50′ file    #显示开头50行
 
   # perl -ne 'print unless 1 .. 10′ file   #不显示开头10行
 
   # perl -ne 'print if 15 .. 17′ file  #显示15行到17行
 
   # perl -lne 'print substr($_, 0, 80) = ""' file  #每行取前80个字符

   # perl -lne 'print substr($_, 10) = ""' file  #每行丢弃前10个字符
 
   # perl -ne 'print if /comment/' duptext     #查找comment字符串
 
   # perl -ne 'print unless /comment/' duptext    #查找不含comment字符串的行

   # perl -ne 'print if /comment/ || /apple/' duptext    #查找包含comment或apple的行

   # perl -lane 'print $F[4] + $F[-2]'    #计算字段4和倒数第二字段之和

   # perl -e 'print sort ' file   #文件按行排序

   # perl -00 -e 'print sort ' file   #文件按段落排序

   # perl -0777 -e 'print sort ' file1 file2   #多个文件按文件内容排序,并返回合并后的文件
 
   # perl -e 'print reverse ' file1      #文件按行反转

   # perl -ne 'printf "%x\n",$_'     #10进制转16进制
 
   # perl -ne 'printf "%o\n",$_'    #10进制转8进制

   # perl -ne 'print hex($_)."\n"'   #16进制转10进制
 
   # perl -ne 'print oct($_)."\n"'   #8进制转10进制
 
   # perl -ne 'print eval($_)."\n"'   #简易计算器
 

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!