Linuxでの文字列削除

[code]

    [[File:AAA.jpg]]
    [[Image:BBB.png|5MB|2015]]
    CCC.gif|1MB
    [[ファイル:DDD.svg|5MB]]
    
[/code]

上記のような沢山のファイルの情報が記述されたテキストファイルがあります。このファイルを下記のようにしたいのですがやり方が分かりません。

[code]

    AAA.jpg
    BBB.png
    CCC.gif
    DDD.svg
    
[/code]

下記のコマンドでファイル名よりも前の文字を削除することは出来ましたが、ファイル名より後ろの文字の削除が出来ません。どうかご教授いただけませんでしょうか。

[code]

    sed -i -e 's/\[\[Image://gi' -e 's/\[\[File://gi' -e 's/\[\[ファイル://gi' -e 's/\|*//g' -e 's/\]\]//g' filename.txt
    
[/code]




sedだけで済ませるなら例えばこんな感じで如何でしょうか。

[code]

    sed -e 's/^\[\[//g' -e 's/\]\]$//g' -e 's/\([^|]\+\)|.*/\1/' -e 's/.*:\([^:]\+\)/\1/' filename.txt
    
[/code]




sedだけで済ませるなら例えばこんな感じで如何でしょうか。

[code]

    sed -e 's/^\[\[//g' -e 's/\]\]$//g' -e 's/\([^|]\+\)|.*/\1/' -e 's/.*:\([^:]\+\)/\1/' filename.txt
    
[/code]

