2010-07-26 35 views
0

喜具有在文件中的示例行:(在文件中)的sed +匹配目录PATH通过sed的

路径:WORD1/var/tmp中WORD2 WORD3

如何救助或仅匹配“/无功/ tmp“PATH from the line by sed

备注:/ var/tmp是它唯一的例子,它可以是任何其他路径!

备注1:/ var/tmp中可能是在第一行或线的端部或在管线

的中间例如

某处
echo "PATH: word1 /var/tmp word2 word3" | sed ... 

将打印

/var/tmp 

回答

0
$ cat file 
PATH: word1 /var/tmp word2 word3 
$ awk '{for(i=1;i<=NF;i++)if($i ~/\//) print $i}' file 
/var/tmp 

如果您的目录名带有空格,则这不起作用。提供一个可能的路径的更具体的例子,你可能有。最重要的是,从源头获得数据的地方解决问题的根源。

-1

echo 'PATH: word1 /var/tmp word2 word3' | cut -d ' ' -f 3

+0

该OP表示路径并不总是在同一个点内。 – 2010-07-26 12:16:40

+0

这不是问题,看来你还没有测试过我的解决方案。 剪切只是选择第三个空格分隔的字段。当路径中有空格时,这种情况不起作用的唯一情况是。 – ssegvic 2010-07-26 12:23:05