已整理-shell内置字符串常用操作

 

bash 里面内置了一些常用的字符串操作;

1、字符串截取

a="abc"
${a:1:1}            #字符串截取,从0开始编号,第1个字符开始,截取1个

 

2、字符串替换

a="aabbcc"                      #字符串替换
echo ${a/"aa"/88}

echo ${变量名/old/new}              #替换1个
echo ${变量名//old/new}              #替换所有

 


3、字符串删除

echo ${a#}                   #掐头
echo ${a%}                   #去尾

a=`head -1 /etc/passwd`           #定义变量

echo ${a#root}                 #从左往右删除,删除第1个root
echo ${a##*root}                #从左往右删除,删除到最后1个root

# echo ${a%bash}                #从右往左删除bash前面的字符
bash

# echo ${a%%:*}                    #从左往左删除: ,直到最后1个:为止
root

应用案例,批量改文件名,把.txt结尾的扩展名变更为.html :

touch abc{1..10}.txt
for i in $(ls *.txt)
do 
  mv $i ${i%txt}html
done

 

4、定义变量初值(备用值)
echo ${变量名:-初值}

echo ${p:-123}              #定义变量的初始值,如果变量值为空时,就用初始值123,如果变量有值,就用变量自己的值

#a=
#echo ${a:-123}            #定义变量的初始值,如果变量值为空时,就用初始值123,如果变量有值,就用变量自己的值
123
#a=10
#echo ${a:-123}    
10

 

posted on 2022-10-18 18:48  tengq  阅读(28)  评论(0编辑  收藏  举报

导航