浅析shell+sed+awk和perl和python
2008-09-21 17:51
176 查看
最近在linux下工作时,越来越觉得迫切需要掌握一门脚本语言,于是开始选择到底学什么?现在比较流行的脚本语言中,perl和python的呼声最大,所以一直不知道该学那一个。今天在网上查了一下,看到这篇博客觉得挺有帮助,故和大家分享一下。
原文:shell+sed+awk和perl和python的区别
地址:http://blog.csdn.net/annicybc/archive/2008/04/19/2308146.aspx
最近开始学习shell+sed+awk,偶然在LinuxSir.Org看到下面这篇网友评论文章,觉得有点意思,就摘抄到此,让更多需要的人容易看到它!
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 等命令
原文:shell+sed+awk和perl和python的区别
地址:http://blog.csdn.net/annicybc/archive/2008/04/19/2308146.aspx
最近开始学习shell+sed+awk,偶然在LinuxSir.Org看到下面这篇网友评论文章,觉得有点意思,就摘抄到此,让更多需要的人容易看到它!
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 等命令
相关文章推荐
- 脚本语言性能比较:Ruby,Io,PHP,Python,Lua,Java,Perl...
- [Web开发] 6款著名的开源的Web开发框架横向评测 (Perl, PHP, Python, Ruby)
- ubuntu 开发环境搭建 lisp gcc python perl mysql
- 配置Notepad++直接运行Python、Perl、C、C++、Java
- perl和python的区别
- python/perl/shell在windows下的安装
- 生成目录结构算法的bash, perl和python实现
- java内调用perl、python、dll、cmd
- perl 、shell、python之shell脚本入门
- nginx log 时间转换时间戳在php,perl,python中的使用
- 比较Perl、PHP、Python、Java和Ruby
- 在emacs开启几个动态语言的shell(perl, python, ruby, bean shell,groovy)
- <转> amazon的一个大牛谈各种语言 c c++ java python ruby lisp perl
- 用15行perl打造win32下的简易后门 python
- perl和python中的闭包
- 尝试自己的Perl语言的包 UDP协议的再包装起到类似python语言装饰器的效果
- Shell Perl Python 介绍
- python调用perl脚本
- curl perl python 模拟post请求
- 在线编程语言模拟(Java,C,Python,R语言,Ruby,PHP,Perl,Go等)