2013-06-19 100 views

回答

6

你可能想嘗試egrep -o '#[^ ]+'。輸出應該是這樣的:

#test 
#allow 
#remove 
2

只是提供使用awk替代:

awk '{for (i=1; i<=NF; i++) if ($i ~ /^#/) print $i}' 

這裏是提取這些MATHES純BASH方式:

x=$str # your original string 
while :; do 
    if [[ $x =~ (\#[a-z]+)(.*)$ ]]; then 
     echo "${BASH_REMATCH[1]}" 
     x="${BASH_REMATCH[2]}" 
    else 
     break 
    fi 
done 
相關問題