gun*_*uns 11
如果您对使用bash没问题,可以使用bash字符串扩展:
FILE="/path/to/file.example"
FILE_BASENAME="${FILE##*/}"
Run Code Online (Sandbox Code Playgroud)
它有点神秘,但是大括号开始变量扩展,而double hash从字符串的开头贪婪地删除指定的glob模式.
Double %%在字符串末尾执行相同的操作,单个百分比或散列执行非贪婪删除.
此外,还提供了一个简单的替换构造:
FILE=${FILE// /_}
Run Code Online (Sandbox Code Playgroud)
例如,将用下划线替换所有空格.
再次单一斜线,非贪婪.
我只是使用而不是字符串操作
file=`basename "$filename"`
Run Code Online (Sandbox Code Playgroud)
编辑:
感谢放松一些新的语法(假设您的文件名保存在$ filename中):
file=$(basename $filename)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3951 次 |
| 最近记录: |