簡體   English   中英

shell腳本從字符串中獲取文件名

[英]shell script to get the file name from a string

我需要在.jks之前獲取文件的底層名稱(esrt-deghasdf-keystore)。 我想用shellcript來做。 可能嗎?

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

不需要外部工具。 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%.*}

這取決於線的格式。 如果你的所有行都以/path/to/file.ext格式結束,你可以這樣做:

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

但實際上,這取決於你的線條的確切格式以及你想要的內容。

使用cut cut to sed。 (有些像cut -f 7 | sed blah)

對不起,我不記得究竟如何使用它們。

請參閱聯機幫助頁: cut and sed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM