我想提取字符串的某個部分(如果存在)。我對xml文件名感興趣,即我想要「_」和「.xml」之間的什麼。bash腳本中的sed regexp
這是確定,它打印「555」
MYSTRING=`echo "/sdd/ee/publ/xmlfile_555.xml" | sed 's/^.*_\([0-9]*\).xml/\1/'`
echo "STRING = $MYSTRING"
這也不行,因爲它返回整個字符串。在這種情況下,我不想要任何結果。 它打印「/sdd/ee/publ/xmlfile.xml」
MYSTRING=`echo "/sdd/ee/publ/xmlfile.xml" | sed 's/^.*_\([0-9]*\).xml/\1/'`
echo "STRING = $MYSTRING"
任何想法如何得到一個「空」的結果在第二種情況下。
謝謝!
太棒了!謝謝! – Jojje 2010-06-29 11:56:36
你可能也想逃避最後的'''.' – 2010-06-29 12:21:06
@Douglas:真的,我沒有注意到(這就是爲什麼你不復制和粘貼代碼;-) – 2010-06-29 18:03:55