linux – 删除除文件扩展名外的所有内容
发布时间:2020-12-14 02:14:08 所属栏目:Linux 来源:网络整理
导读:参见英文答案 Extract filename and extension in Bash????????????????????????????????????36个 假设我有一个字符串: x=file.tar.sh 我知道除了最后的n个字符之外如何删除所有内容.像这样(除去最后3个字符的所有内容: ${x: -3} 但这对于具有不同后缀长度
参见英文答案 >
Extract filename and extension in Bash????????????????????????????????????36个
假设我有一个字符串: x=file.tar.sh 我知道除了最后的n个字符之外如何删除所有内容.像这样(除去最后3个字符的所有内容: ${x: -3} 但这对于具有不同后缀长度的文件不起作用. (len .tar!= len .sh) 我会通过删除所有内容直到最后一个点来解决这个问题.我试过这个: ${x##.} 这将删除最长的匹配,直到“.”但不知何故,它只是返回完整的字符串而不删除任何东西? 解决方法
试试这个:
x=file.tar.sh echo ${x##*.} 这将打印sh 如果你想获得tar.sh,那么: echo ${x#*.} 这里*匹配发生之前的任何字符集. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |