2013-10-11 101 views
0

我正在處理shell腳本,並且想要在字符串中獲取模式開始和結束時使用特定字符。雖然我可以做是:獲取字符串中的模式以特定字符開始和結束

a=`grep -oh ^\/ $1` 
grep -oh \'$ $a 

我知道grep -oh命令查找文件中的某一字並打印所以我試圖找到的話有/開始,以'結束。 但它仍然找到單詞,但我需要模式來查找,就像/bin/ls'dir是字符串一樣,我必須獲取/ bin/ls。也是這樣,我不能在最後壓制'角色。

這怎麼辦?

回答

0

Perl的正則表達式是方便與前瞻斷言:

str="like if /bin/ls'dir is the string, I have to get /bin/ls. " 
grep -oP "/.*?(?=')" <<< "$str" 
/bin/ls 
0

假設這是一個列表,而不是用文字:

#!/bin/bash 
echo "/bin/ls'dir"|awk -F\' '{print "dir: "$1" end: "$NF}' 
相關問題