type ls 看它的类型和alias等
批量命名:
#!/bin/sh
2 #rename all file
3 i=0
4
5 case $1 in
6 "redo")
7 find . -name "*" -type f |while read p;doi
8 #赋值没有不知道是为什么?fname=""等号之间不能有空格
9 fname=$(basename $p)
10 # echo "$fname"
11 if [ $fname -ge 0 ] 2>/dev/null ;then
12 mv $p $(dirname $p)/"test$((i++))"
13 fi
14 done
15 ;;
16 "rename")
17 find . -name "test*" -type f |while read p;do
18 fname =$(basename $p)
19 #do just you like
20 mv $p $(dirname $p)/"$fname$((i++))"
21 done
22 ;;
23 *) echo "not input";;
grep 不包括:
1.长度
[web97@salewell97 ~]$ test='I love china'
[web97@salewell97 ~]$ echo ${#test}
12
${#变量名}得到字符串长度
2.截取字串
[chengmo@localhost ~]$ test='I love china'
[chengmo@localhost ~]$ echo ${test:5}
e china
[chengmo@localhost ~]$ echo ${test:5:10} //从第5个开始截取,截取10个
e china
${变量名:起始:长度}得到子字符串
vimrc 在/etc/vimrc中可以设置vim风格:
shell中加减
[szu@localhost etc]$ n=1
[szu@localhost etc]$ let "n=$n-1" //let执行完了就没了,所以要有中间变量来保存它
[szu@localhost etc]$ echo $n
((i++))
如果有中间变量那就可以用:
((i=$j+$k)) 等价于 i=`expr $j + $k`
((i=$j-$k)) 等价于 i=`expr $j -$k`
((i=$j*$k)) 等价于 i=`expr $j \*$k`
((i=$j/$k)) 等价于 i=`expr $j /$k`
Let expressions 执行一个或多个表达式。表达式中的变量前不必有$.如果表达式中包含了空格或其他特殊字符,则必须引起来。
例:let “I = I + 1” 或 let i=i+1
如果不用中间变量只是要把4+4的结果显示出来那么可以用:
[szu@localhost etc]$ echo `expr 4 + 3`
7
[szu@localhost etc]$ a=9
[szu@localhost etc]$ b=8
[szu@localhost etc]$ echo $[a+b]
17
[szu@localhost etc]$ echo $(($a+$b))
17
#!/bin/bash
#4.4.sh
s=0 #定义一个求和变量,初值为0。
t=`expr$1**$2` #用expr改变运算顺序,求x的y次方。
t=$[t*3] #t乘以3。
s=$[s+t] #结果相加。
t=$[$1**2] #求x的平方。
t=$[t*4] #结果乘以4。
s=$[s+t] #结果相加。
t=`expr$2*5` #求5y的值。
s=$[s+t] #结果相加。
s=$[s+6] #结果加上6。
echo$s #输出结果。
echo$((a%b)) #取余
//截取字符串
[szu@localhost etc]$ echo $tanting
nicandoyi
[szu@localhost etc]$ echo ${tanting:`expr ${#tanting} - 4`:2}
do
批量命名:
#!/bin/sh
2 #rename all file
3 i=0
4
5 case $1 in
6 "redo")
7 find . -name "*" -type f |while read p;doi
8 #赋值没有不知道是为什么?fname=""等号之间不能有空格
9 fname=$(basename $p)
10 # echo "$fname"
11 if [ $fname -ge 0 ] 2>/dev/null ;then
12 mv $p $(dirname $p)/"test$((i++))"
13 fi
14 done
15 ;;
16 "rename")
17 find . -name "test*" -type f |while read p;do
18 fname =$(basename $p)
19 #do just you like
20 mv $p $(dirname $p)/"$fname$((i++))"
21 done
22 ;;
23 *) echo "not input";;
grep 不包括:
grep -v
1.长度
[web97@salewell97 ~]$ test='I love china'
[web97@salewell97 ~]$ echo ${#test}
12
${#变量名}得到字符串长度
2.截取字串
[chengmo@localhost ~]$ test='I love china'
[chengmo@localhost ~]$ echo ${test:5}
e china
[chengmo@localhost ~]$ echo ${test:5:10} //从第5个开始截取,截取10个
e china
${变量名:起始:长度}得到子字符串
vimrc 在/etc/vimrc中可以设置vim风格:
shell中加减
[szu@localhost etc]$ n=1
[szu@localhost etc]$ let "n=$n-1" //let执行完了就没了,所以要有中间变量来保存它
[szu@localhost etc]$ echo $n
((i++))
如果有中间变量那就可以用:
((i=$j+$k)) 等价于 i=`expr $j + $k`
((i=$j-$k)) 等价于 i=`expr $j -$k`
((i=$j*$k)) 等价于 i=`expr $j \*$k`
((i=$j/$k)) 等价于 i=`expr $j /$k`
Let expressions 执行一个或多个表达式。表达式中的变量前不必有$.如果表达式中包含了空格或其他特殊字符,则必须引起来。
例:let “I = I + 1” 或 let i=i+1
如果不用中间变量只是要把4+4的结果显示出来那么可以用:
[szu@localhost etc]$ echo `expr 4 + 3`
7
[szu@localhost etc]$ a=9
[szu@localhost etc]$ b=8
[szu@localhost etc]$ echo $[a+b]
17
[szu@localhost etc]$ echo $(($a+$b))
17
#!/bin/bash
#4.4.sh
s=0 #定义一个求和变量,初值为0。
t=`expr$1**$2` #用expr改变运算顺序,求x的y次方。
t=$[t*3] #t乘以3。
s=$[s+t] #结果相加。
t=$[$1**2] #求x的平方。
t=$[t*4] #结果乘以4。
s=$[s+t] #结果相加。
t=`expr$2*5` #求5y的值。
s=$[s+t] #结果相加。
s=$[s+6] #结果加上6。
echo$s #输出结果。
echo$((a%b)) #取余
//截取字符串
[szu@localhost etc]$ echo $tanting
nicandoyi
[szu@localhost etc]$ echo ${tanting:`expr ${#tanting} - 4`:2}
do