У меня есть командный файл, такой как
for f in bin/$1*.txt; do echo $f; done
Я хотел бы повторить только имя файла - не bin / temp.txt или temp.txt - просто temp.
Как мне извлечь имя файла из $ f?
Расширение параметра.
$: 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
Если суффикс всегда один и тот же, вы можете просто использовать basename -s ".txt" $f.
basename -s ".txt" $f