输入 -
ajflkajlkaj
ddddddddddd/need/to/print/thiskkkkkkkkkkkk
ahfkjahkfja
需要输出
/need/to/print/this
谷歌搜索和调整我能够通过这样做提取“这个” -
sed -n 's/^.*\(this\).*$/\1/p' myfile
但似乎无法正确获取从“/需要”开始的其余模式的语法。
我将不胜感激任何指针/建议。
提前致谢。
尝试这个 :
sed -n 's![^/]\+\(.*/this\).*!\1!p' filename.txt
笔记
sed
分隔符可以是你想要的,而不是默认的/
。我!
这里用。
如果您愿意,grep
也可以使用一个简单的命令:
grep --binary-files=text -o '/.*/this' filename.txt
您需要让我们知道 ddd 和 kkk 真正代表什么。假设“this”后面有一些空白,您可以改为匹配此模式:
sed -n 's/^[^\/]*\(.*\)\s.*$/\1/p' myfile
[^\/]*
表示首先匹配尽可能多的非/字符。