我有一个包含以下内容的文件
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"
答案 0 :(得分: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