14 - shell字符串处理及变量

2022-03-26  本文已影响0人  舍是境界

字符串处理机制

字串截取

phone=18234567890
echo ${#phone}     #统计变量长度
11

echo ${phone:0:3} 
182

echo ${phone:3:3} 
345

echo ${phone:4}   
4567890

echo ${phone:4:-2}
45678

子串替换

phone=18234567890 
${phone/8/x} 
1x234567890

${phone//8/x}
1x234567x90

字串掐头

echo 'root:x:0:0:root:/root:/bin/bash' > text.txt
 A=`head -1 text.txt`  
echo $A                                          
root:x:0:0:root:/root:/bin/bash

echo ${A#*:}
x:0:0:root:/root:/bin/bash

echo ${A##*:}
/bin/bash

字串去尾

echo $A                                          
root:x:0:0:root:/root:/bin/bash

echo ${A%:*}
root:x:0:0:root:/root

 echo ${A%%:*}
root

批量修改文件扩展名

touch {a,b,c,d,e,f}.txt
#!/bin/bash
  
for i in $(ls *.txt)
do
  mv $i ${i%.*}.doc
done
#!/bin/bash
  
for i in $(ls *.$1)
do
  mv $i ${i%.*}.$2
done

变量初始化

echo ${X:-xyz}
123

echo ${ABC:-xyz}
xyz

小结

上一篇 下一篇

猜你喜欢

热点阅读