shell,perl,python

shell,perl,python的区别  

2012-03-18 10:48:42|  分类: 默认分类 |  标签: |字号 订阅

 
 
shell+sed+awk
三者中功能最弱,没有调试程序,大多数操作必须通过运行其他程序才能执行,所以需要更多时间、内存并在进程表中占有位置。内置的算术运算很有限,数组下标必须是数字等。但它对运行环境要求低,小巧便捷,是学习系统脚本编程的基础。
Perl
设计之初就是为了方便编写复杂高效的系统脚本,它也是应该最为广泛的脚本编程语言。它在编程方面相当于瑞士军刀,对字符、文本文件处理能力很强,以前要求 shell+sed+awk+C才能完成的任务,只需perl脚本就可以完成了。而且应用领域一直在拓宽,支持面向对象程序设计。
Python
面向对象的动态公共语言,适于脚本编程和快速开发,它最显著的特点是作为编译语言(如C)和脚本语言(如perl)之间的桥接语言,它具有的强大功能,可扩充性及面向对象的特征使其成为大规模应用程序开发工具。
总结
由此可见Perl比shell+sed+awk更强大,但学习两者并不冲突,通常是学习shell做为脚本编程的入门基础。而Python在应用领域则与前两者有很大的差别,无太大的可比性。面向不同的任务,可以只需用到其中的一种,也可能三种都要用到,所以究竟该学谁不学谁,需要由面对的任务来决定。
bash - GNU Bourne-Again SHell 类似dos的command,没他你就别想执行命令 
gawk - pattern scanning and processing language 主要用于文本相关的处理的编程语言 
sed - a Stream EDitor 用于对字符流进行操作 
perl - Practical Extraction and Report Language 一种程序语言,特别用于对字符串处理和作为cgi程序 
后三种在linux中是通过bash进行调度执行的 
bash你必须用,其他三个要看你的需要了,呵呵
bash、awk、sed、perl 
联系是都可以作为 命令解释器 
功能大小 
大=====〉小 
perl /*powerful like ksh, fast, use widely 
awk /*power two, basic using in shell script, also write awk script 
bash, provide user interface, also provide some command 
sed , line editor oriented lines  
perl 是一种很强的编程语言,你几乎可以用它做任何事情,awk 则简单多了,主要用来处理具有一定格式的文件。如果是 shell 编程,awk、sed 等都是不可缺少的工具,当然 perl 完全可以替代 awk、sed、grep 等命令

转载于:https://www.cnblogs.com/itgg168/archive/2012/11/26/2788703.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宁波python学习_python学习第五天

一 常用模块定义:可以实现某种功能的.py结尾的python文件,文件名为test.py,则模块名为test导入方法import 模块名import 模块名1,模块名2from 模块名 import * 不建议使用这种方法,容易引起模块中的方法被…

android管理员和普通用户登录,asp登录页如何区别管理员和普通用户,登录后跳转到不同页面?...

数据库表 user表 中,username(用户名) pass(密码) type(超级管理员、高级发文者) cname(单位名称)登录页index.aspif request.Form("submit")"登陆系统" thenusertrim(request.Form("uname"))passucase(md5(request.Form("pass&…

envoy实现_如何利用 Envoy 的 Postgres 过滤器实现网络可观察性

作者:Christoph Pakulski自发布版本 1.15.0 起,Envoy 代理就开始支持 Postgres 信息解码用于统计目的了。该功能为网络中发生的 Postgres 事务提供聚合视图。有了聚合视图,Postgres 作业的种类、故障的数量和严重性瞬间一目了然。通过时间序列…

android无感刷新下拉分页,GitHub - TakWolf/Android-RefreshAndLoadMore-Demo: 一种简单的并且优雅的方式实现下拉刷新和加载更多的分页效果。...

Android - RefreshAndLoadMore Demo一种简单的并且优雅的方式实现下拉刷新和加载更多的分页效果。包含 ListView 和 RecyclerView 两种组件的对应实现。下拉刷新基于 SwipeRefreshLayout 实现。加载更多通过在列表底部添加 FooterView 实现。考虑了第一次请求数据填充不足一屏的…

神经网络与机器学习 第一讲(2)——什么是神经网络

一、为什么要研究神经计算 1. 理解人脑是怎样工作的 2. 理解利用神经元和连接所形成的并行计算(这与串行计算很不相同): 1) 能够做好人脑擅长的事情(vision) 2) 做不好人脑不擅长的事情(23*45) …

弹性法计算方法的mck法_粘弹性自由阻尼加筋板的随机响应分析和试验研究

0 引 言船舶在营运过程中可能产生有害振动并影响正常运营,此时需要对船体结构采取有效的减振措施,在结构上敷设阻尼是常用、高效的减振方法之一[。要达到良好的减振效果,需要选取合适的阻尼材料和合理的敷设方式。粘弹性阻尼材料由于其性能参…

自定义圆形倒计时Android,Android自定义View倒计时圆

本文实例为大家分享了Android自定义View倒计时圆的具体代码,供大家参考,具体内容如下创建attr创建DisplayUtil 类import android.content.Context;/*** Created by 王 on 2017/10/21.*/public class DisplayUtil {/*** 将px装换成dp,保证尺寸…

网络编程的4种IO模型

selectFD_ZERO初始化FD_SET将socket加进去select轮询当socket的事件发生时,fd_set里面有相关的socket,如果没有socket有事件发生,select返回0FD_ISSET检测,socket是否还在fd_set里,是的话,表示这个socket有…

pandas 合并所有列_图解Python表格操作包Pandas

Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开…

android ndk gcc,Android NDK GCC似乎是铿锵的 - 它应该是这样吗?

刚刚下载的NDK在链接旧项目时失败:/usr/bin/ld: unrecognised emulation mode: armelf_linux_eabi看来,clang隐藏在gcc的面具后面:/opt/android-ndk-r18b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --versionAndroid (475164…

三年的php简历_PHP程序员个人简历

PHP程序员个人简历2003/10—现在:***公司所属行业:计算机软件*&*银沙网站PHP程序员主要职责:能独立应用PHPMySQL进行网站开发,合理的应用PHPMVC模式,并使用Smarty或使用自制的.类似Smarty缓冲机制的模版引擎。了解…

VC小技巧(网上搜的)

一、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); 二、关闭CD_ROM mciSendString("Set cdAudio door closed wait",NULL,0,NULL); 三、关闭计算机 OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构 OsVersionInfo…

html下划线 下移,css如何实现下划线滑动效果

本文主要讲述两种下划线动效效果,第一种悬停时X轴由内向外展开实现动画效果,第二种为左右自动展示,由左向右,或由右向左。实现的主要效果是利用伪类标签,以及hover,利用transfromm trition实现动画效果。x轴由内向外展…

已知网友建立html,职称计算机模拟试题:Dreamweaver网页设计模拟试题及答案(5)...

52、在使用时间链时,用“Record Path of Layer”命令记录层的路径,关于关键点的说法正确的是(CD)A、用户拖动层的速度越快,则划分出的关键点越多B、用户拖动层的速度越快,则划分出的关键点越少C、用户可以通过改变拖动的速度来变更…