我使用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)
这没用.
尝试使用以下(更新:出现\:没有必要,:很好)
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)