我有一个像这样的字符串
/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}'