私のbashコマンドラインの正しい正規表現を思い付く方法を理解できないようです。これが私がやっていることです:
echo "XML-Xerces-2.7.0-0.tar.gz" | sed -e's/^\(.*\)-[0-9].*/\1/g'
これにより、次の出力が得られます...
XML-Xerces-2.7.0
...しかし、必要なのは出力が...
XML-Xerces
...私はこれを行うことができると思います...
echo "XML-Xerces-2.7.0-0.tar.gz" | sed -e's/^\(.*\)-[0-9].*/\1/g' | sed -e's/^\(.*\)-[0-9].*/\1/g'
sed
...しかし、正規表現をもう少しよく理解する方法を知りたいです。
アップデート:
私はこれを試しました...
echo "XML-Xerces-2.7.0-0.tar.gz" | sed -e's/^\([^-]*\)-[0-9].*/\1/g'
...提案どおりですが、それは出力しますXML-Xerces-2.7.0-0.tar.gz