精华内容
下载资源
问答
  • linux shell 加法运算,字符串split

    千次阅读 2014-11-19 17:10:04
    linux shell 加法运算,数组,diff不同目录的名字不同但数量对对应相同 split以空格分割 echo `date` for i in `ls -v 1/`; do c=`ls -v 2/$i` a=(${c// / }) b=0 for j in `ls -v 1/$i`; do #echo $b ...

    linux shell 加法运算,数组,diff不同目录的名字不同但数量对对应相同

    split以空格分割

    echo `date`
    for i in `ls -v 1/`; do
    	c=`ls -v 2/$i`
    	a=(${c// / })
    	b=0
    	for j in `ls -v 1/$i`; do
    		#echo $b
    		#echo ${a[$b]} 
    		diff /home/yangle.ghq/diff_data/1/$i/$j /home/yangle.ghq/diff_data/2/$i/${a[$b]}
    	#       echo ${a[$b]}
    		let b=$(($b+1))
    	done
    done
    echo `date`


    展开全文
  • Linux Shell 算术运算

    万次阅读 2018-03-20 12:13:03
    米扑博客 总结了 Bash shell 的算术运算有四种方式:1、使用 expr 外部程式加法 r=`expr 4 + 5`echo $r注意! '4' '+' '5' 这三者之间要有空格r=`expr 4 * 5` # 错误乘法 r=`expr 4 \* 5` 2、使用 $(( ))r=$(( 4 + ...

    米扑博客 总结了 Bash shell 的算术运算有四种方式:

    1、使用 expr 外部程式

    加法 r=`expr 4 + 5`
    echo $r

    注意! '4' '+' '5' 这三者之间要有空格

    r=`expr 4 * 5` # 错误
    乘法 r=`expr 4 \* 5`

     

    2、使用 $(( ))

    r=$(( 4 + 5 ))
    echo $r

     

    3、使用 $[ ]

    r=$[ 4 + 5 ]
    echo $r

    乘法
    r=`expr 4 \* 5` 
    r=$(( 4 * 5 ))
    r=$[ 4 * 5 ]
    echo $r

    除法
    r=`expr 40 / 5` 
    r=$(( 40 / 5 ))
    r=$[ 40 / 5 ]
    echo $r

    减法
    r=`expr 40 - 5` 
    r=$(( 40 - 5 ))
    r=$[ 40 - 5 ]
    echo $r

    求余数
    r=$[ 100 % 43 ]
    echo $r

    乘幂 (如 2 的 3 次方)
    r=$(( 2 ** 3 ))
    r=$[ 2 ** 3 ]
    echo $r
    注:expr 沒有乘幂

     

    4、使用let 命令

    加法:
    n=10
    let n=n+1
    echo $n #n=11

    乘法:
    let m=n*10
    echo $m

    除法:
    let r=m/10
    echo $r

    求余数:
    let r=m%7
    echo $r


    乘冪:
    let r=m**2
    echo $r

    虽然Bash shell 有四种算术运算方法,但并不是每一种都是跨平台的,建议使用expr。
    另外,我们在 script 中经常有加1操作,以下四法皆可:
    m=$[ m + 1]
    m=`expr $m + 1`
    m=$(($m + 1))
    let m=m+1

     

    Shell awk 循环求和

    1. 简单求和

    1
    2
    3
    4
    5
    6
    7
    8
    $ cat test .txt
    11
    22
    33
    44
    55
    $ awk '{sum += $1};END{print sum}' test .txt 
    165

     

    2. 特定列求和

    1
    2
    3
    4
    5
    6
    7
    8
    $ cat test .txt
    aa      11
    bb      22
    cc      33
    aa      44
    dd      55
    $ awk '/aa/ {sum += $2};END {print sum}' test .txt
    55

     

    3. 求和、平均数、最大值、最小值

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $ cat test .txt
    aa      11
    bb      22
    cc      33
    aa      44
    dd      55
    $ cat test .txt | awk '{sum += $2};END {print sum}'
    165
    $ cat test .txt | awk '{sum += $2};END {print sum/NR}'
    33
    $ cat test .txt | awk 'BEGIN {max=0} {if($2>max) max=$2 fi};END {print max}'
    55
    $ cat test .txt | awk 'BEGIN {min=999999999} {if($2<min) min=$2 fi};END {print min}'        
    11

     

    awk 浮点运算:

    运算表达式: awk 'BEGIN{printf "%.6f\n", ( 10 / 3)}'

    运算结果: 3.333333

     

    PS:shell的内部算术运算符无法处理浮点数,所以当需要处理浮点数是,要用到外部工具(如awk)

     

     

    参考推荐

    Linux 之 shell 算术运算符

    Linux 之 shell 比较运算符

    Linux Shell 函数返回值

    Linux shell脚本通过expect实现自动输入密码

     

    展开全文
  • LinuxShell算术运算

    2013-03-21 23:17:56
    LinuxShell算术运算 Bash shell 的算术运算有四种方式: 1:使用 expr 外部程式 加法 r=`expr 4 + 5` echo $r 注意! '4' '+' '5' 这三者之间要有空白 r=`expr 4 * 5` #错误 乘法 r=`expr 4 \* 5` 2:...

    LinuxShell算术运算

    Bash shell 的算术运算有四种方式:
    1:使用 expr 外部程式

    加法 r=`expr 4 + 5`
    echo $r
    注意! '4' '+' '5' 这三者之间要有空白
    r=`expr 4 * 5` #错误
    乘法 r=`expr 4 \* 5`

    2:使用 $(( ))
    r=$(( 4 + 5 ))
    echo $r

    3:使用 $[ ]

    r=$[ 4 + 5 ]
    echo $r

    乘法
    r=`expr 4 \* 5` 
    r=$(( 4 * 5 ))
    r=$[ 4 * 5 ]
    echo $r

    除法
    r=`expr 40 / 5` 
    r=$(( 40 / 5 ))
    r=$[ 40 / 5 ]
    echo $r

    减法
    r=`expr 40 - 5` 
    r=$(( 40 - 5 ))
    r=$[ 40 - 5 ]
    echo $r

    求余数
    r=$[ 100 % 43 ]
    echo $r

    乘幂 (如 2 的 3 次方)
    r=$(( 2 ** 3 ))
    r=$[ 2 ** 3 ]
    echo $r
    注:expr 沒有乘幂

    4:使用let 命令
    加法:
    n=10
    let n=n+1
    echo $n #n=11

    乘法:
    let m=n*10
    echo $m

    除法:
    let r=m/10
    echo $r


    求余数:
    let r=m%7
    echo $r


    乘冪:
    let r=m**2
    echo $r

    虽然Bash shell 有四种算术运算方法,但并不是每一种都是跨平台的,建议使用expr。
    另外,我们在 script 中经常有加1操作,以下四法皆可:
    m=$[ m + 1]
    m=`expr $m + 1`
    m=$(($m + 1))
    let m=m+1

    展开全文
  • Linux Shell的数学运算

    2018-09-10 12:47:16
    Linux Shell的数学运算 下面是一些关于和linux shell中关于数学运算的小见解(权当做自己的读书笔记): 使用let 使用操作符[ ] 使用( ( ) ) 测试环境:Ubuntu 18.04 LTS 终端:bash 使用let let 命令是 ...

    Linux Shell的数学运算

    下面是一些关于和linux shell中关于数学运算的小见解,在学《Linux Shell 脚本攻略》这本书,发现其中有的地方写的不是很详细(权当做自己的读书笔记):

    • 使用let
    • 使用操作符[ ]
    • 使用( ( ) )
    测试环境:Ubuntu 18.04 LTS 终端:bash

    使用let

    let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。如果表达式中包含了空格或其他特殊字符,则必须引起来。 —— [ 菜鸟教程 ]

    使用let时,let后面的表达式的所有变量(不管是等号左边还是右边)
    均不需要加上 $
    eg:
    
    [user@local:~]$ num1=1
    [user@local:~]$ num2=2
    [user@local:~]$ let result=num1+num2    #均不需要加 $
    [user@local:~]$ let result++            #自加操作
    [user@local:~]$ let result--            #自减操作
    [user@local:~]$ let result+=5           #简写形式,
                 #相当于result=result+5, -=,*=,/= 类似.

    使用操作符 [ ]

    #!/bin/bash
    num1=1
    num2=2
    result=$[ num1 + num2 ]
    #或者
    #result=$[ $num1 + $num2 ]
    #也就是说要在[]前面加上$,
    #因为[]前面加上 $ ,才有运算的作用,
    #而[]内的变量可以加也可以不加$.

    下面列出我自己测试的内容

    #!/bin/bash
      2 num1=1
      3 num2=2
      4 echo "num1=$num1 , num2=$num2"
      5 
      6 result1=[num1+num2]
      7 echo "形式: result1=[num1+num2]       结果:result1=$result1"
      8 
      9 result2=$[num1+num2]
     10 echo "形式: result2=\$[num1+num2]      结果:result2=$result2"
     11 
     12 result3=[$num1+$num2]
     13 echo "形式: result3=[\$num1+\$num2]   结果:result3=$result3"
     14 
     15 result4=$[$num1+$num2]
     16 echo "形式: result4=\$[\$num1+\$num2]  结果:result4=$result4"

    下面是上面这个程序的输出

    num1=1 , num2=2
    形式: result1=[num1+num2]       结果:result1=[num1+num2]
    形式: result2=\$[num1+num2]      结果:result2=3
    形式: result3=[\$num1+\$num2]   结果:result3=[1+2]
    形式: result4=\$[\$num1+\$num2]  结果:result4=3
    

    使用 ( ( ) )

    下面是测试,

    result4=$[$num1+$num2]
     16 echo "形式: result4=\$[\$num1+\$num2]  结果:result4=$result4"
     17 
     18 result5=(($num1+$num2))
     19 echo "形式: result5=((\$num1+\$num2))  结果:result5=$result5"
     20 
     21 result6=$(($num1+$num2))
     22 echo "形式: result4=\$((\$num1+\$num2))  结果:result6=$result6"
     23 
     24 result7=$((num1+num2))
     25  echo "形式: result7=\$((num1+num2))  结果:result7=$result7"
     26 
     27 result8=((num1+num2))
     28  echo "形式: result8=((num1+num2))  结果:result8=$result8"

    下面是上面程序的输出

    compute.sh: 行 18: 未预期的符号 `(' 附近有语法错误
    compute.sh: 行 18: `result5=((\$num1+\$num2))'
    形式: result5=((\$num1+\$num2))  结果:result5=
    形式: result6=\$((\$num1+\$num2))  结果:result6=3
    形式: result7=\$((num1+num2))  结果:result7=3
    compute.sh: 行 27: 未预期的符号 `(' 附近有语法错误
    compute.sh: 行 27: `result8=((num1+num2))'
    形式: result8=((num1+num2))  结果:result8=
    
    也就是说,跟 [ ] 一样,使用( ( ) ) 时,(()) 前面一定要有$,
    而变量前面可有可无。
    展开全文
  • LinuxShell算术运算expr

    千次阅读 2014-03-26 09:10:25
    LinuxShell算术运算expr 来源不详   关键字:echo expr let 使用 乘法 shell Bash 加法 余数 运算 Bash shell 的算术运算有四种方式: 1:使用 expr 外部程式 加法 r=`expr 4 + 5...
  • linux shell 数学运算

    2018-12-10 20:46:57
    1. Bash shell中使用let、(())、[]执行基本的算术操作,工具expr和bc可以用来执行高级操作  使用let时,变量名前无需$  自操作let no1++  自操作let no2--  简写形式let no+=6 或者 let no-=6 2. ...
  • Linux shell 运算

    2017-11-23 20:11:36
    Linux shell 运算一.运算符1.1 关系运算符 等值判断:=字符串,!=字符串,-eq数字,-ne数字 关系 :-gt:大于,-ge:大于等于,-lt:小于,-le:小于等于1.2 算数运算 原生bash不支持简单的数学运算,但是可以通过其他...
  • linux系列:Shell加法运算及i++

    千次阅读 2020-05-19 15:25:23
    i=$[$i+1]; i=$(( $i + 1 )) i=`expr $i + 1`;
  • linux shell 数值运算

    千次阅读 2013-11-22 17:11:24
    Bash shell 的算术运算有四种方式: 1:使用 expr 外部程式 加法 r=`expr 4 + 5` echo $r 注意! '4' '+' '5' 这三者之间要有空白 r=`expr 4 * 5` #错误 乘法 r=`expr 4 \* 5` 2:使用 $(( )) r=$(( 4 + 5 )) ...
  • Linux Shell 时间运算以及时间差计算方法 时间的加减,以及时间差的计算。 1。 时间加减 这里处理方法,是将基础的时间转变为时间戳,然后,需要增加或者改变时间,变成 秒。 如:1990-01-01 01:01:01 ...
  • linux shell 时间运算以及时间差计算方法 最近一段时间,在处理Shell 脚本时候,遇到时间的处理问题。 时间的加减,以及时间差的计算。 1。 时间加减 这里处理方法,是将基础的时间转变为时间戳,然后,需要增加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,626
精华内容 4,250
关键字:

linuxshell加减运算

linux 订阅