正则表达式的一些用法例子

来源:互联网 发布:屈臣氏产品怎么样知乎 编辑:程序博客网 时间:2024/05/03 08:26

1. 提取网址的base address

$ url="http://www.flickr.com/search/?q=linux"$ echo $url | egrep -o "https?://[a-z.]+"http://www.flickr.com$ echo $url | egrep -o "https?://[a-z\.]+"http://www.flickr.com
dot (点)在  [] 里面不再表示任意一个字符,而是表示点本身。

2. 对网页里面的演员列表排序:

$ lynx -dump http://www.johntorres.net/BoxOfficefemaleList.html | grep -o "Rank-.*" | sed 's/Rank-//; s/\[[0-9]\+\]//' | sort -nk 11   Keira Knightley2   Natalie Portman3   Monica Bellucci4   Bonnie Hunt5   Cameron Diaz6   Annie Potts7   Liv Tyler8   Julie Andrews9   Lindsay Lohan10   Catherine Zeta-Jones11   Cate Blanchett12   Sarah Michelle Gellar13   Carrie Fisher14   Shannon Elizabeth15   Julia Roberts16   Sally Field17   Téa Leoni18   Kirsten Dunst19   Rene Russo20   Jada Pinkett21   Helen Hunt22   Halle Berry23   Kate Winslet24   Margot Kidder25   Elizabeth Perkins26   Lucy Liu27   Geena Davis28   Rosie O'Donnell29   Drew Barrymore30   Sandra Bullock31   Tia Carrere32   Julia Stiles33   Jane Fonda34   Renée Zellweger35   Demi Moore36   Kathy Bates37   Kate Beckinsale38   Lea Thompson39   Talia Shire40   Queen Latifah41   Denise Richards42   Glenn Close43   Meg Ryan44   Whoopi Goldberg45   Nicole Kidman46   Jennifer Lopez47   Jennifer Love Hewitt48   Laura Dern49   Mary Elizabeth Mastrantonio50   Jennifer Aniston51   Alicia Silverstone52   Laura Linney53   Elizabeth Hurley54   Ashley Judd55   Michelle Pfeiffer56   Bette Midler57   Diane Keaton58   Sigourney Weaver59   Jennifer Tilly60   Jodie Foster61   Courteney Cox62   Angelina Jolie63   Neve Campbell64   Meryl Streep65   Julianne Moore66   Goldie Hawn67   Linda Hamilton68   Elisabeth Shue69   Tara Reid70   Kim Basinger71   Annette Bening72   Kristin Scott Thomas73   Jeanne Tripplehorn74   Rachel Weisz75   Gwyneth Paltrow76   Teri Garr77   Jamie Lee Curtis78   Nia Long79   Madonna80   Madeleine Stowe81   Angela Bassett82   Reese Witherspoon83   Selma Blair84   Kirstie Alley85   Kathleen Quinlan86   Susan Sarandon87   Salma Hayek88   Debra Winger89   Winona Ryder90   Charlize Theron91   Valeria Golino92   Sharon Stone93   Jami Gertz94   Christina Ricci95   Marisa Tomei96   Uma Thurman97   Diane Lane98   Jennifer Connelly99   Nancy Travis100   Heather Graham101   Sophie Marceau102   Jessica Lange103   Kate Hudson104   Andie MacDowell105   Naomi Watts106   Jennifer Jason Leigh
上面的命令也可以写成:

lynx -dump http://www.johntorres.net/BoxOfficefemaleList.html | grep -o "Rank-.*" | sed 's/Rank-//; s/[[0-9]\+]//' | sort -nk 1


3. 提取网页里面的title 信息:

$ echo "<title>Taiwan becomes the third Chinese special administration area following Hongkong and Macau</title><title>Chinese forces destroy Japan's most powerful fleet in South Pacific</title>" |> sed 's:</title>:&\n:' | sed 's:.*<title>\([^<]*\).*:\1:'Taiwan becomes the third Chinese special administration area following Hongkong and MacauChinese forces destroy Japan's most powerful fleet in South Pacific

后面的 sed 里面的 \([^<]\)*  不能改成 \([^<]\).*

4. 提取 IP地址:

$ ifconfig wlan0 | egrep -o "inet addr:[^ ]*" | grep -o "[0-9.]*"192.168.1.3