2017-04-10 25 views
0

这也许是一个noob问题,但我无法找到答案。 我如何使用SED找到Santa83_4。名称Santa83_4是一个例子,可以是任何charcater的任何东西。使用SED查找2个反斜杠之间的单词

.... \ randomtext \ randomtext \用户名\ Santa83_4 \速率\ randomtext \ randomtext ...

谢谢你是进步

+0

这似乎已经在另一个话题被覆盖? http://stackoverflow.com/questions/13242469/how-to-use-sed-grep-to-extract-text-between-two-words – jimmy8ball

+0

我知道这个话题,并与之一起玩。它没有给我我需要的答案。 –

+0

为什么?我的意思是,为什么要花费在字符串上使用“sed”来找到“foo”,所以如果只需要“echo”foo“',只要输出”foo“就可以打印”foo“。你真的想做什么? –

回答

0

的grep方法:

s='...\randomtext\randomtext\name\Santa83_4\rate\randomtext\randomtext..' 
echo $s | grep -Po '\\name\\\K[^\\]+' 

sed方法:

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

输出(两种方法):

Santa83_4 
+0

太棒了。非常感谢你 –

+0

@WHHermans,不客气 – RomanPerekhrest