我需要在.jks之前獲取文件的基本名(esrt-deghasdf-keystore)。我想用shellscript來做。可能嗎?shell腳本從字符串獲取文件名
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
我需要在.jks之前獲取文件的基本名(esrt-deghasdf-keystore)。我想用shellscript來做。可能嗎?shell腳本從字符串獲取文件名
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
這取決於行的格式。如果線路都將在/path/to/file.ext
格式結束,你可以這樣做:
echo $line | sed -e '[email protected]*/@@g' -e '[email protected]\.[^.]*[email protected]@g'
但實際上,這取決於究竟如何你行的格式,你想出來的東西。
無需外部工具。 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%.*}
由於OP希望刪除擴展名:'file = $ {var ## * /}; base = $ {file%。*}' – 2010-02-09 07:38:48
是的。我錯過了。謝謝 – ghostdog74 2010-02-09 08:07:06