Dis*_*ame 7 command-line text-processing
如果我有一个看起来像这样的文件:
example.png example.jpg example2.jpg example2.png example.swf
example2.swf example3.jpg example4.jpg example3.png example3.swf
Run Code Online (Sandbox Code Playgroud)
例如,我想提取包含 swf 的单词,输出看起来像这样
example.swf
example2.swf
example3.swf
Run Code Online (Sandbox Code Playgroud)
我试过grep -o "swf[^[:space:]]*",它只打印一堆swf,然后我试过grep -o '[^ ]*a\.swf[^ ]*',输出很少线包含“SWF”。有谁知道该怎么做?
Cyr*_*rus 10
使用 GNU grep:
grep -o '\b\w*\.swf\b' file
Run Code Online (Sandbox Code Playgroud)
输出:
例子.swf 例子2.swf 例子3.swf
\b: 零宽度字边界
\w: 字字
\.: 匹配一个点
请参阅:堆栈溢出正则表达式常见问题解答
你可以做:
grep -o '[^ ]*\.swf' file.txt
Run Code Online (Sandbox Code Playgroud)
[^ ]* 匹配零个或多个非空格字符
\.swf 匹配文字 .swf
例子:
% grep -o '[^ ]*\.swf' file.txt
example.swf
example2.swf
example3.swf
Run Code Online (Sandbox Code Playgroud)