sedを使用して拡張子(abc.jpg)の完全なファイル名を取得しようとしています。sed regex backreferenceに置き換えてなぜ動作しないのですか?
INPUT.TXT:
sfdb/asdjfj/abc.jpg
asdfj/asdfj/abd.gif
sfdb/asdjfj/abc.jpg
sfdb/asdjfj/abc-2.jpg
asdfjk/asdjf/asdf_?/sfdb/asdjfj/abc_12.jpg
asdfj/asdfj/abdasdfj
電流指令:
grep ".jpg" input.txt|sed 's:/\([^/]+\.jpg\):\1:gi'
のgrepは、指定された行(ここでは必要ではないが)を取得するための一例です。 https://www.regex101.com/r/5GTgak/2
予想される出力:
abc.jpg
abc.jpg
abc-2.jpg
abc_12.jpg
しかし、私はまだ同じ入力ファイルを取得しています私はすでにだけを.jpgの最後の '/' +ファイル名+を得るために、私の正規表現をテストしました。私は間違って何をしていますか?
試してみてください。*/\([^ /] + \。jpg \):\ 1:gi'' –
もう一度、あなたは正規表現の質問のために狩りをしていますか?( –
@WiktorStribiżewはまだ動作しません正規表現は大丈夫です:https://www.regex101.com/r/5GTgak/2 – jack