Подтвердить что ты не робот

Захватите имя файла в Unix из полного пути

Я пытаюсь получить "abc.txt" из /this/is/could/be/any/path/abc.txt с помощью команды Unix. Обратите внимание, что /this/is/could/be/any/path является динамическим.

Любая идея?

Спасибо заранее.

4b9b3361

Ответ 1

В bash:

path=/this/is/could/be/any/path/abc.txt
file=$(basename $path)

или

file=${path##*/}

Ответ 2

basename path указывает имя файла в конце пути

Edit:

Возможно, стоит добавить, что общий шаблон заключается в использовании обратных кавычек вокруг команд, например. `basename...`, поэтому оболочки UNIX будут выполнять команду и возвращать ее текстовое значение.

Чтобы присвоить результат базового имени переменной, используйте

x=`basename ...path...`

и $x будет именем файла.

Ответ 3

Вы можете использовать basename /this/is/could/be/any/path/abc.txt

Ответ 4

Вы можете использовать команду dirname

$ dirname $path