我需要使用unix命令在第二個#到。(點)之間獲取字符串。 對於前串TEST#CV01#170403053938.csv
輸出應該是170403053938
獲取unix中兩個特定字符之間的字符串
可有一個人請指教如何獲得。
我需要使用unix命令在第二個#到。(點)之間獲取字符串。 對於前串TEST#CV01#170403053938.csv
輸出應該是170403053938
獲取unix中兩個特定字符之間的字符串
可有一個人請指教如何獲得。
試試這個 -
$ echo "TEST#CV01#170403053938.csv"|egrep -o '[[:digit:]]{10,20}'
170403053938
OR
$ echo "TEST#CV01#170403053938.csv"|awk -F'[#.]' '{print $3}'
170403053938
嘗試:
A="TEST#CV01#170403053938.csv"
B=${A##*#}
echo ${B%%.*}
我只是用參數擴展在這裏得到確切需要的值
。
謝謝工作正常 – rajabc
可以使用sed
(可能是矯枉過正),但爲了正則表達式!
echo "TEST#CV01#170403053938.csv"|\
sed -e 's/\(.*#.*#\)\(.*\)\(\.csv\)/\2/'
謝謝第二個是合適的。 – rajabc
@rajabc - 歡迎:) http://stackoverflow.com/help/someone-answers –