2009-11-09 49 views

回答

0
grep -o "PART I WANT TO EXTRACT" foo 

編輯: 「第一部分我想提取」 可以是一個正則表達式,即:

grep -o http://[a-z/.]* foo 
+0

我正在使用: >'grep -o'http:// [az/.A-Z0-9] * " > \ [link \]'' 但它給了我: >'http:// img18.imageshack.us/img18/8079/69903601.jpg " > [鏈接]' 我不想在最後的東西。 – Josh

+0

那麼,你可以grep找到,然後使用grep -o來獲取表達式:> grep'http:// [a-z/.A-Z0-9] * " > \ [link \]'| grep -o'http:// [a-z/.A-Z0-9] * – ctd

0
expr "$string" : 'href="\(.*\)">\[link\]' 
2

用awk

$ echo "href="PART I WANT TO EXTRACT">[link]" | awk -F""" '{print $2}' 
PART I WANT TO EXTRACT 

或者使用shell本身

$ a="href="PART I WANT TO EXTRACT">[link]" 
$ a=${a//"/} 
$ echo ${a/&*/} 
PART I WANT TO EXTRACT 
2

下面是Bash的另一種方式:

$ string="href="PART I WANT TO EXTRACT">[link]" 
$ entity=""" 
$ string=${string#*${entity}*} 
$ string=${string%*${entity}*} 
$ echo $string 
PART I WANT TO EXTRACT 

這說明了兩個功能:刪除匹配前綴/後綴模式和使用一個變量來保存模式(你可以使用文字來代替)。