2

输入 -

ajflkajlkaj
ddddddddddd/need/to/print/thiskkkkkkkkkkkk
ahfkjahkfja

需要输出

/need/to/print/this

谷歌搜索和调整我能够通过这样做提取“这个” -

sed -n 's/^.*\(this\).*$/\1/p' myfile

但似乎无法正确获取从“/需要”开始的其余模式的语法。

我将不胜感激任何指针/建议。

提前致谢。

4

2 回答 2

1

尝试这个 :

sed -n 's![^/]\+\(.*/this\).*!\1!p'  filename.txt

笔记

sed分隔符可以是你想要的,而不是默认的/。我!这里用。

如果您愿意,grep也可以使用一个简单的命令:

grep --binary-files=text -o '/.*/this' filename.txt
于 2012-11-01T23:46:35.270 回答
1

您需要让我们知道 ddd 和 kkk 真正代表什么。假设“this”后面有一些空白,您可以改为匹配此模式:

sed -n 's/^[^\/]*\(.*\)\s.*$/\1/p' myfile

[^\/]*表示首先匹配尽可能多的非/字符。

于 2012-11-01T23:47:52.340 回答