给定文件的路径,说:/home/user1/archive.zip
有人可以告诉我如何在不使用外部二进制文件的情况下删除字符串archive.zip吗?
我知道:
${Path2File##*/}
可以给我文件名,但是我需要这个的文件夹路径。
也欢迎使用通配符理解或解释指南。
做
"${Path2File%\/*}"
或使用外部二进制文件
dirname "$Path2File" # Not desirable as you've mentioned already
笔记:
${parameter%word}
,单词扩展为生成模式,就像在文件名扩展中一样。如果该模式与参数的扩展值的结尾部分匹配,那么扩展的结果就是删除了最短匹配模式的参数的值。/
壳参数扩展中有特殊含义,因此我们对它进行了转义,即\/
。目的是匹配文件的基本名称,即/example.zip
in/path/to/example.zip
并删除它。参考:
Shell [参数扩展]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句