实战
  vxoexqgjyiCS 2023年11月19日 12 0

实战

[root@linux-server ~]# a=123456123789

[root@linux-server ~]# echo ${a/1/}    #第一次匹配的被替换

23456123789

[root@linux-server ~]# echo ${a/1/0}  #第一次匹配到1替换成0

023456123789

[root@linux-server ~]# echo ${a//1/}  #全局的匹配被替换

2345623789                  

[root@linux-server ~]# echo ${a//1/x} #全局匹配到1替换成x

x23456x23789


例:

file=/dir1/dir2/dir3/my.file.txt

${file#*/}:  拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt  

${file##*/}: 拿掉最后一条 / 及其左边的字符串:my.file.txt  

${file#*.}:  拿掉第一个 . 及其左边的字符串:file.txt

${file##*.}: 拿掉最后一个 . 及其左边的字符串:txt

${file%/*}:  拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3

${file%%/*}: 拿掉第一条 / 及其右边的字符串:(空值)

${file%.*}:  拿掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file

${file%%.*}: 拿掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my

记忆的方法为:

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

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

单一符号是最小匹配;两个符号是最大匹配(贪婪匹配)

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   11   0   0 linux网卡
  Ex81gqy3LOX7   2023年12月07日   9   0   0 linux
  nIt0XG0acU8j   2023年12月11日   15   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   18   0   0 linuxsort