sedの正規表現

sedの正規表現
./Queen/(1986)/Innuendo/01.One vision.mp3
./Queen/(1986)/Innuendo/02.One vision.mp3
./Queen/(1986)/Innuendo/03.One vision.mp3

上記の行を次のように表示したいと思います。

01.One vision.mp3
02.One vision.mp3
03.One vision.mp3

私は以前試しました:

  sed -i 's/^[^.$/]/ /g/ 

答え1

/主な問題は、区切り文字として使用しようとすると同時に/解析する文字でもあることです。

パイプなどの他の区切り文字を使用する必要があります。すべての項目とaを一致させ/てから、(キャプチャグループ)を使用して抽出したい部分を分離し、次のようにグループをレンダリングします。\(\)\1

echo "yourstring" | sed 's|.*/\([^/]*\)$|\1|'

グループをキャプチャすることなく動作させることができます。最後まですべてを削除してください/

echo "yourstring" | sed 's|.*/||'

答え2

なぜbasenameこの目的ではないのですか?たとえば、

for file in *mp3; do basename "$file"; done

関連情報