shell脚本编剧 函数定义 脚本中断

1.只替换第一个匹配结果
${变量名/old/new}

将第一个8替换为XX
#echo${phone/8/xx}

2.替换全部的匹配结果:
${变量名//old/new}

将phone变量中所有8给替换为xx
#echo ${phone//8/xx}

    字符串掐头去尾:
   	# A   = `head -1 /etc/passwd`
    # echo $A
    root:X:0:0root:/root:/bin/bash

1.从左往右,最短匹配删除:${变量名#*关键词}
删除做左侧第一个字符到最近的关键词“:”的部分,匹配所有
# echo ${A#
:}
x:0:0:root:/root:/bin/bash

2.从左往右,最长匹配删除: ${变量名##关键词}
删除从左侧第一个字符到最远的关键词:
# echo ${A##
}
/bin/bash

3.从右往左,最短匹配删除: ${变量名%关键词}
删除从右侧最后一个字符到往左最近的关键词:
# echo ${A%:*}
root:X:0:0:root:/root

4.从右往左,最长匹配删除: ${变量名%%关键词}
删除从右侧最后一个字符到往左最远的关键词:
# echo ${A%%:*}
root

实例:
首先批量的创建以.doc结尾的文件
通过脚本,批量修改文件的后缀名,将.doc改为.txt

将/video目录下以.mp4结尾的文件,后缀改为.mkv

#!/bin/bash
for i in `ls /video/*.$1`
do
	mv $1  ${i%.*}.$2
done
# sh renamefile.sh  mp4  mkv
发布了30 篇原创文章 · 获赞 0 · 访问量 665
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览