从脚本变量中提取文件名

时间:2019-01-30 16:45:06

标签: bash macos

我有一个类似的批处理文件

for f in bin/$1*.txt; do echo $f; done

我只想回显文件名-不回声bin / temp.txt或temp.txt-只是回声

如何从$ f中提取文件名?

2 个答案:

答案 0 :(得分:1)

如果后缀始终相同,则可以使用basename -s ".txt" $f

答案 1 :(得分:0)

参数扩展。

$: f=bin/temp123.txt # an example you might have
$: x="${f#bin/}"     # asign to x without bin/ prefix
$: echo $x
temp123.txt
$: echo ${x%.txt}    # show x without .txt suffix
temp123