0

我有一个包含以下内容的文件

abc_cde_app_13.5.0.10
abc_cde_app_13.5.0.10.xml
abc_cde_app_13.5.0.10_log.url
abc_cde_app_13.5.0.10_note.xml

这些数字可能会发生变化并且不是标准的。我只想选择第一个。我将所有三个都传递给变量 $file。但它的显示版本为所有三个文件找到。我怎样才能得到它只有第一个

if echo "$file" | grep -E "abc_cde_APP"; then
     echo "Version found: $file"
else
 echo "File not found"
4

1 回答 1

1

这个怎么样:

grep 'abc_cde_app_[^_]*$'

它适用于您的示例:

kent$  echo "abc_cde_app_13.5.0.10
abc_cde_app_13.5.0.10_log.url
abc_cde_app_13.5.0.10_note.xml"|grep 'abc_cde_app_[^_]*$'   
abc_cde_app_13.5.0.10
于 2013-05-10T15:44:40.477 回答