Как получить только конечное имя базового файла в структуре каталогов с помощью сценария оболочки (bash) или команды Linux
У меня есть такая структура каталогов
MainDIR/ dir2 / b.txt
MainDIR/ dir1/a.txt
Я хочу получить только базовые имена файлов, такие как a.txt и b.txt
1 ответ
Получить базовое имя пути к файлу, который хранится в переменной оболочки MYFILE
, вы можете сделать это так:
В Zsh это проще всего, потому что вам не нужно создавать отдельный процесс:
$MYFILE:t
в bash (и, я думаю, ksh), единственный метод, который я знаю, это
$(basename $MYFILE)
Это работает и в Zsh, но имеет недостаток, что необходим подпроцесс.