到网上摘抄了下面2个方法
====方法①===========
a="2004.03.08"
b="2005.03.08"
c=`expr $a \>= $b`
if [ $c -eq 1 ]
then
echo $a \>= $b
else
echo $a \< $b
fi
====方法②============
DATE="ef"
MODIFY="ab"
echo "`echo -e "$MODIFY \n$DATE"|sort| head -1 `"
if [ "$MODIFY" = `echo -e "$MODIFY \n$DATE"|sort| head -1 ` ]
then
echo "MODIFY is little than DATE"
else
echo "MODIFY is greater that DATE"
fi
====方法三========
如果是仅仅比较时间,可以把时间转换成整数比较,下面是示例
while [ `date -d $fromDay +%s` -le `date -d $toDay +%s ` ]
do
dim_date=$fromDay
echo $dim_date
fromDay=`date +%Y-%m-%d -d "$fromDay 1day"`
done
参考(里面有Bug,但是思路是正确的):
http://www.diybl.com/course/3_program/shell/shelljs/20110903/559590.html
分享到:
相关推荐
### Shell字符串比较与数字判断详解 #### 一、概述 在Shell脚本编程中,进行字符串和数字的比较是一项常见的任务。本文将详细介绍如何在Shell脚本中进行字符串和数字的比较,包括基本的比较操作符及其使用场景,并...
shell中的test命令—字符串比较1. 字符串比较功能2. 比较字符串是否相等3. 比较字符串的大小4. 比较字符串的长度 1. 字符串比较功能 test命令的字符串比较功能: 比较 说明 str1 = str2 检查str1是否和str2...
值得注意的是,Bash中没有严格区分字符串和数字的比较,而tcsh则更强调类型匹配,因此在tcsh中做字符串比较时,要确保两边都是字符串类型。 接下来是数字比较。Bash中使用`-eq`, `-ne`, `-lt`, `-le`, `-gt`, `-ge`...
在进行字符串比较时,还需要注意一些细节,比如空格、特殊字符的处理,以及字符串中的转义字符。有时候,可能需要使用双引号将字符串包围起来,以防止Shell对其中的特殊字符进行解释。 总的来说,Shell中比较大小的...
在这个问题中,标题提到的是在使用`Shell32.Shell`对象的`GetDetailsOf`函数时遇到了返回空字符串的异常情况,尽管在本地计算机上运行正常。这通常是由于环境差异或权限问题导致的。 `GetDetailsOf`函数是`Shell32`...
而在Shell脚本中进行文件测试时,会用到一系列的选项,这些选项可以帮助我们检测文件的各种属性。本文将详细介绍从`-z`到`-d`这一系列选项的具体含义及其应用场景。 #### 文件测试操作符概述 在Shell脚本中,`if`...
### Shell字符串处理 1. **获取字符串长度**:使用`${#variable}`获取变量的长度,如`${#name}`。 2. **字符串切片**:使用`${variable:start:length}`提取子字符串,如`${name:1:3}`。 3. **替换字符串**:`echo ${...
编写一个shell程序 findit,该程序搜索参数1指定的目录树,查找所有的以 .c和 .h结尾的文件,如文件行中含有参数2指定的字符串,显示该行和相应的文件名。如目录参数1缺省,则从当前目录中搜索。如: ./findit /...
测试字符串也是Shell脚本中常用的操作之一,如: - **`string1 = string2`**:如果两个字符串相等,则返回真。 - **`string1 != string2`**:如果两个字符串不相等,则返回真。 - **`-n "string"`**:如果字符串...
4. **未完待续的示例**:由于描述中提到的第四个例子没有具体说明,我们可以推测这是一个更复杂的任务,比如文件操作、字符串处理,或者是涉及逻辑控制结构(如case语句)的脚本。在Shell编程中,这些都可以通过内置...
- **字符串比较**:比较两个字符串是否相等。 - **数值比较**:比较两个数字大小。 - **循环结构**: - **`for`循环**:遍历列表或字符串中的元素。 - **`while`循环**:当条件为真时重复执行一系列指令。 - *...
这使得在Shell中进行数学运算变得稍显复杂。 5. **while循环语句**: `while`循环可以读取文件并处理内容,如统计分数文件`score.txt`中的总数和平均值。它可以按文件的列数定义变量,方便对每一列数据进行操作。 ...
字符串比较是Shell脚本中另一个重要的功能,通过字符串比较可以实现逻辑控制和条件判断等功能。 - **`-z string`**:如果字符串 `string` 的长度为零(即为空),则返回真值。例如 `[ -z "$myvar" ]`,此命令用于...
=`(字符串比较),`-z`(字符串长度为0),`-n`(字符串长度不为0)。 3. 文件测试:`-e`(文件存在),`-r`, `-w`, `-x`(文件权限),`-s`(文件大小不为0),`-d`(目录),`-f`, `-c`, `-b`(文件类型),`-a`...
本文档《Shell学习笔记》详细介绍了Shell脚本编写的基础知识和一些高级技巧,包含了多个主题,例如终端操作、环境变量使用、数学运算、文件描述符、数组和关联数组、别名使用、终端信息获取、日期和时间处理、脚本...
【Shell经典面试题解析】...以上题目覆盖了shell脚本中的基础命令使用、字符串处理、文件操作、条件判断、循环控制等核心知识点,对shell编程能力有全面的考察。理解并能解决这些问题,意味着对shell有相当深入的理解。
字符串测试操作符用于测试字符串的长度、是否为空以及进行字符串比较。 - `[-z STRING]`: 如果`STRING`的长度为0,则返回真。 - `[-n STRING]` 或 `[STRING]`: 如果`STRING`非空且非零长度,则返回真。 - `[STRING1...
- **单次替换**:`sub(reg, str)`,在字符串`str`中首次匹配`reg`的位置进行替换。 #### 格式化输出 - **十六进制转换**:`printf("%x\n", $0)`,将数值转换为十六进制形式输出。 - **左对齐输出**:`printf("%-15s...