如何通过shell脚本提取部分字符串?

时间:2009-11-09 22:07:30

标签: bash string

字符串设置如下:

  

href=" 第一部分想要提取 ">[link]

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

这是Bash的另一种方式:

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

这说明了两个功能:删除匹配的前缀/后缀模式以及使用变量来保存模式(您可以使用文字代替)。

答案 2 :(得分:0)

grep -o "PART I WANT TO EXTRACT" foo

编辑:“我要提取的第一部分”可以是正则表达式,即:

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

答案 3 :(得分:0)

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