2010-07-26 29 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