сценарий оболочки для получения имени файла из строки - PullRequest
1 голос
/ 09 февраля 2010

Мне нужно получить имя файла (esrt-deghasdf-keystore) до .jks. Я хочу сделать это с помощью шеллскрипта. Возможно ли это?

abcdefgh 7369 4825 0 00:12:26 pts/10 0:37 java -Djavax.net.ssl.keyStore=/abc3/esrt/der/fer-def2/esrt-deghasdf-keystore.jks

Ответы [ 3 ]

2 голосов
/ 09 февраля 2010

не нужны внешние инструменты. Ksh может сделать работу

$ var="abcdefgh 7369 4825 0 00:12:26 pts/10 0:37 java -Djavax.net.ssl.keyStore=/abc3/esrt/der/fer-def2/esrt-deghasdf-keystore.jks"

$ echo ${var##*/}
esrt-deghasdf-keystore.jks

$ var=${var##*/}
$ echo ${var%.*}
1 голос
/ 09 февраля 2010

Используйте вырезать по трубам, чтобы седь. (что-то вроде cut -f 7 | sed blah)

Извините, я точно не помню, как использовать оба.

См. Справочные страницы: cut и sed

1 голос
/ 09 февраля 2010

Зависит от формата строки. Если все строки заканчиваются в формате /path/to/file.ext, вы можете сделать:

echo $line | sed -e 's@.*/@@g' -e 's@\.[^.]*$@@g'

но на самом деле, это зависит от того, как именно отформатированы ваши строки и что вы хотите из этого.

...