从路径字符串中提取文件名

从路径字符串中提取文件名

我有一个像这样的字符串

/path/to/some/file.txt

我只想提取文件名,不带扩展名:

file

问题是该路径是随机选择的,我无法将其硬编码为变量作为路径,它必须是字符串。我不希望文件名包含任何非字母数字字符。最简单的方法是什么?

答案1

回答:
使用基本名称查看堆栈溢出的答案 https://stackoverflow.com/a/10124347/879882

basename /path/to/some/file.txt 

将仅返回文件名。更多内容可阅读man basename

如果您只想获取文件名而不包含后缀,则只需填写 an 即可basename -s .txt /path/to/some/file.txt,它也会删除后缀。

另外一个选择:
您可以使用awk 'BEGIN{FS="/"} {print $NF} and 来实现这个能够删除后缀的选项,只需| awk 'BEGIN{FS="."} {print $1}'

相关内容