如何提取":"之间包含的部分行?

Ano*_*ous 1 regex bash sed

我使用sed解析这个特定的行时遇到问题:

/media/file/1.bmp app:Stuff I want:
Run Code Online (Sandbox Code Playgroud)

基本上我想在两个冒号(::)之间得到东西,即Stuff I want在这种情况下.

我试过了

sed -r 's/.*app:([\s\w\d]*):.*/\1/'
Run Code Online (Sandbox Code Playgroud)

这没用.

Tim*_*han 5

尝试使用以下(更新:出现\:没有必要,:很好)

sed -r 's/.*\:([^\:]*)\:.*/\1/'
Run Code Online (Sandbox Code Playgroud)

或者根据@brandizzi和@ joemooney的回答:

sed -r 's/.*:([^:]*):.*/\1'
Run Code Online (Sandbox Code Playgroud)

或切割

cut -f 2 -d":"
Run Code Online (Sandbox Code Playgroud)