shell脚本批量修改文件名称

论坛 期权论坛 脚本     
匿名技术用户   2020-12-22 07:45   11   0

示例 : filename = /home/mnt/test.txt
用 ${ } 分别替换获得不同的值:
${filename#*/}:拿掉第一条 / 及其左边的字符串:home/mnt/test.txt
${filename##*/}:拿掉最后一条 / 及其左边的字符串:test.txt
${filename#*.}:拿掉第一个 . 及其左边的字符串:test.txt
${filename##*.}:拿掉最后一个 . 及其左边的字符串:txt
${filename%/*}:拿掉最后条 / 及其右边的字符串:/home/mnt
${filename%%/*}:拿掉第一条 / 及其右边的字符串:空
${filename%.*}:拿掉最后一个 . 及其右边的字符串:/home/mnt/test
${filename%%.*}:拿掉第一个 . 及其右边的字符串:/home/mnt/test

# 是去掉左边(在键盘上 # 在 $ 之左边), % 是去掉右边(在键盘上 % 在 $ 之右边)

单一符号是最小匹配﹔两个符号是最大匹配。
${filename:0:5}:提取最左边的 5 个字节:/home
我们也可以对变量值里的字符串作替换:
${filename/mnt/opt}:将第一个 mnt 提换为 opt:/home/opt/test.txt
${filename//mnt/opt}:将全部 mnt 提换为 opt:/home/opt/test.txt

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP