shell命令sed編輯如何用awk編輯器替換正則表達式的字符串?使用
echo http://www.domain.com/?params | sed -e 's;https\?://;;' | sed -e 's;/.*$;;'
輸出 www.domain.com
我如何使用UNIX AWK編輯器輸出這個字符串?
awk {print}?
shell命令sed編輯如何用awk編輯器替換正則表達式的字符串?使用
echo http://www.domain.com/?params | sed -e 's;https\?://;;' | sed -e 's;/.*$;;'
輸出 www.domain.com
我如何使用UNIX AWK編輯器輸出這個字符串?
awk {print}?
你可以試試這個,
$ echo http://www.domain.com/?params | awk -F/ '{print $3}'
www.domain.com
通過grep的,
$ echo http://www.domain.com/?params | grep -oP '(?<=/)[^/]+(?=/)'
www.domain.com
通過戰略經濟對話
$ echo http://www.domain.com/?params | sed 's/.*\/\([^\/]\+\)\/.*/\1/'
www.domain.com
使用awk和GSUB:
$ echo http://www.domain.com/?params | awk '{gsub("\\/\\?params$", ""); print}'
http://www.domain.com
$ echo http://www.domain.com/?params | awk '{gsub("\\/\\?params$",""); gsub("^http://",""); print}'
www.domain.com
或者,(感謝阿維納什拉吉):
$ echo http://www.domain.com/?params | awk '{gsub(/\/\?params$|^http:\/\//,""); print }'
www.domain.com
的Perl:
$ echo http://www.domain.com/?params | perl -pe 's/^http:\/\/([^\/]+).*/\1/'
www.domain.com
或者:
$ echo http://www.domain.com/?params | perl -ne 'print "$1\n" if /^http:\/\/([^\/]+)/; '
www.domain.com
單個gsub會做這個工作'$ echo http://www.domain.com/?params | awk'{gsub(/ \/\?params | http:\/\ //,「」)} 1'' – 2014-09-03 02:00:43
除了所有的Perl/SED/AWK/grep的,這是其實非常適合剪裁:
$ echo http://www.domain.com/?params | cut -d/ -f3
www.domain.com
混合起來有點
expr match http://www.domain.com/?params '.*/\(.*\)/'
或
expr http://www.domain.com/?params : '.*/\(.*\)/'
櫃面有更多的斜槓後面
expr http://www.domain.com/?params/ : '.*//\([^/]*\)/'
櫃面一些真正奇怪的是怎麼回事斜線
expr http://www.domain.com/?params/ : '[^/]*//\([^/]*\)/'
你真的需要awk,反對編輯切割或其他工具?如果您發佈了幾條有代表性的輸入內容,包括任何您認爲難以解析的內容以及期望的輸出結果,那麼您可能會得到比如果沒有更好的答案。 – 2014-09-03 15:58:56