免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11956 | 回复: 1
打印 上一主题 下一主题

shell字符串比较、判断是否为数字 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-29 18:01 |只看该作者 |倒序浏览
* shell字符串比较、判断是否为数字
    * 分类:shell | Linux  作者:Linux宝库  来自:Linux教程  发布时间:2008年11月02日

您是本文的第7978位读者
-

本文来自:Linux教程 -- http://doc.linuxpk.com/55291.html
如有不明白之处,欢迎参加社区讨论

二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.

整数比较

-eq       等于,如:if [ "$a" -eq "$b" ]
-ne       不等于,如:if [ "$a" -ne "$b" ]
-gt       大于,如:if [ "$a" -gt "$b" ]
-ge       大于等于,如:if [ "$a" -ge "$b" ]
-lt       小于,如:if [ "$a" -lt "$b" ]
-le       小于等于,如:if [ "$a" -le "$b" ]
<       小于(需要双括号),如"$a" < "$b")
<=       小于等于(需要双括号),如"$a" <= "$b")
>       大于(需要双括号),如"$a" > "$b")
>=       大于等于(需要双括号),如"$a" >= "$b")

字符串比较
=       等于,如:if [ "$a" = "$b" ]
==       等于,如:if [ "$a" == "$b" ],与=等价
       注意:==的功能在[[]]和[]中的行为是不同的,如下:
       1 [[ $a == z* ]]    # 如果$a以"z"开头(模式匹配)那么将为true
       2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true
       3
       4 [ $a == z* ]      # File globbing 和word splitting将会发生
       5 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true
       一点解释,关于File globbing是一种关于文件的速记法,比如"*.c"就是,再如~也是.
       但是file globbing并不是严格的正则表达式,虽然绝大多数情况下结构比较像.
!=       不等于,如:if [ "$a" != "$b" ]
       这个操作符将在[[]]结构中使用模式匹配.
<       小于,在ASCII字母顺序下.如:
       if [[ "$a" < "$b" ]]
       if [ "$a" \< "$b" ]
       注意:在[]结构中"<"需要被转义.
>       大于,在ASCII字母顺序下.如:
       if [[ "$a" > "$b" ]]
       if [ "$a" \> "$b" ]
       注意:在[]结构中">"需要被转义.
       具体参考Example 26-11来查看这个操作符应用的例子.
-z       字符串为"null".就是长度为0.
-n       字符串不为"null"
       注意:
       使用-n在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z
       或者就是未用""引用的字符串本身,放到[]结构中。虽然一般情况下可
       以工作,但这是不安全的.习惯于使用""来测试字符串是一种好习惯.



awk '{print $2}' class.txt | grep '^[0-9.]' > res
  
本文来自:Linux教程 -- http://doc.linuxpk.com/55291.html
如有不明白之处,欢迎参加社区讨论

    * 上一条:用FireworksMX2004制作极光字体效果
    * 下一条:FW逐字变色+光描动画实例


-

    * 相关文档
    * 最受欢迎
    * 最新文档

    * 有关awk字段分隔符
    * 当while遇到重定向----sh的陷阱
    * 我想每天自动执行该shell
    * 递归修改子目录下文件名的大写字母为小写
    * Linux 系统学习之shell脚本学习
    * 把一个shell程序编译成二进制可执行文件
    * <<高级 Bash 脚本编程指南>> 读书笔记
    * 利用top取某个进程的CPU的脚本
    * 查找包含中文字符的文件
    * 设定环境变数
    * 用tr命令让路径更加具有可读性
    * 环境变量COLUMNS的妙用
    * tcsh如何用当前路径作提示符
    * 一些简单快捷键
    * 用一条命令处理分别改变文件和文件夹的权限
    * 多用拷贝与粘贴来提高操作速度
    * 执行脚本
    * 在shell中捕捉信号的trap命令
    * TCSHshell编程入门
    * Linux Shell学习:uniq命令使用方法介绍
    * DISPLAY变量的用法
    * 利用test命令提高您的脚本编制水平
    * Linux下批量替换多个文件中的字符串
    * LINUX下用SHELL脚本执行带输入输出参数的ORACLE存储过程并得到结果
    * Bash的环境设定
    * shell - eval用法三例
    * 使用curses管理基于文本的屏幕--(一)
    * 显示整齐的路径
    * 赶走一些你不希望进入的用户
    * 让您的开发人员离开一会儿

    * sed用法
    * 从学习export命令理解到的Shell环境和变量生存期
    * cut的用法
    * 用date获得前一天的日期
    * sed学习笔记
    * 关于expr的用法
    * while循环中使用read
    * 仅仅查看IP地址
    * find和xargs使用详解
    * expect用法
    * bash(详解)
    * 怎样取得文件行数
    * 长篇连载--armlinux演艺---序
    * 查看内存的容量
    * shell中循环取出文件中每一行赋予一变量的问题
    * 如何比较两个字符串
    * eval用法三例
    * $@等特定shell变量的含义
    * 在shell中捕捉信号的trap命令
    * shell
    * Bourneshell编程入门及脚本测试
    * BASHShell的脚本编程
    * 用cshell逐行读文件逐行处理
    * 用sed删除由空格组成的空行
    * shell经典13问
    * BASHshellset命令详解
    * source命令的一个妙用
    * shell字符串比较、判断是否为数字
    * bash简介
    * awk文本处理

    * shell - eval用法三例
    * bash 3.0以上版本的一个全新特性--{}的扩展
    * bash中双引号中的\转义问题
    * bash中不支持 echo中的转义符吗
    * 关于bash和grep的转义的问题
    * Bourneshell编程入门及脚本测试
    * Ubuntu使用命令大全
    * 解决bash: rsync: command not found
    * 可用IP列表生成
    * 清除已删除软件包的配置文件的方法
    * yum命令行使用时的代理设置
    * awk小结
    * shell处理2个文件的异同
    * 用awk数组处理两个文件的例子
    * awk中文手册
    * 将一批文件的前10行合并成一个文件
    * awk里的NR和FNR什么区别
    * Linux下批量替换多个文件中的字符串
    * Unix系列shell程序编写(下)
    * Unix系列shell程序编写(中)
    * Unix系列shell程序编写(上)
    * 使用curses管理基于文本的屏幕--(八)
    * 使用curses管理基于文本的屏幕--(七)
    * 使用curses管理基于文本的屏幕--(六)
    * 使用curses管理基于文本的屏幕--(五)
    * 使用curses管理基于文本的屏幕--(四)
    * 使用curses管理基于文本的屏幕--(三)
    * 使用curses管理基于文本的屏幕--(二)
    * 使用curses管理基于文本的屏幕--(一)
    * Grep学习笔记

论坛徽章:
0
2 [报告]
发表于 2010-06-29 18:03 |只看该作者
是 CTRL-A、CTRL-C、CTRL-V、ALT-S 的吗?
也太不专业了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP