Извлечь путь к каталогу и имя файла

У меня есть веб-приложение, которое отлично отлично работает на tomcat моей локальной машины (8.0.20). Однако, когда я помещал его в среду qa (tomcat - 8.0.20), он продолжал давать мне IncompatibleClassChangeError, и он жаловался, что я расширялся на интерфейсе. Этот интерфейс был изменен на абстрактный класс. И я скомпилировал родительский и дочерний классы, и все же я продолжал получать ту же проблему. Наконец, я хотел отлаживать, поэтому я изменил версию родителя на x.0.1-SNAPSHOT, а затем скомпилировал все, и теперь он работает. Если кто-то все еще сталкивается с проблемой после следующих ответов, пожалуйста, убедитесь, что версии в вашем pom.xml также верны. Измените версии, чтобы увидеть, работает ли это. Если да, то исправьте проблему с версией.

34
задан jww 16 July 2018 в 21:20
поделиться

5 ответов

Используйте команду basename , чтобы извлечь имя файла из пути:

[/tmp]$ export fspec=/exp/home1/abc.txt 
[/tmp]$ fname=`basename $fspec`
[/tmp]$ echo $fname
abc.txt
72
ответ дан 27 November 2019 в 05:20
поделиться

Вы можете просто:

base=$(basename "$fspec")
5
ответ дан 27 November 2019 в 05:20
поделиться

bash:

fspec="/exp/home1/abc.txt"
fname="${fspec##*/}"
3
ответ дан 27 November 2019 в 05:20
поделиться
echo $fspec | tr "/" "\n"|tail -1
1
ответ дан 27 November 2019 в 05:20
поделиться

bash для получения имени файла

fspec="/exp/home1/abc.txt" 
filename="${fspec##*/}"  # get filename
dirname="${fspec%/*}" # get directory/path name

другие способы

awk

$ echo $fspec | awk -F"/" '{print $NF}'
abc.txt

sed

$ echo $fspec | sed 's/.*\///'
abc.txt

используя IFS

$ IFS="/"
$ set -- $fspec
$ eval echo \${${#@}}
abc.txt
22
ответ дан 27 November 2019 в 05:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: