如果出现,如何删除前几个字符?

时间:2011-12-07 16:24:12

标签: sed awk grep

我必须做下一件事! 这是下一个文本的例子:

0  ONAIR: PolinaGhffith RalphGood-SOS OhginaIMix

我只想提取

PolinaGhffith RalphGood-SOS OhginaIMix

但问题是,有时文字显示没有0 ONAIR:  我尝试使用下一个代码,但总是不会这样做!

sed -e 's/_..........: //' -e 's/\t//g' -e 's/_//g'

我知道它会删除所有制表符和“_”字符,但它会省略0 ONAIR:但它赢了;每次都工作:( THX!

1 个答案:

答案 0 :(得分:1)

<强>的grep

kent$  echo "0  ONAIR: PolinaGhffith RalphGood-SOS OhginaIMix"|grep -Po '(?<=: ).*$'
PolinaGhffith RalphGood-SOS OhginaIMix

<强> AWK

kent$  echo "0  ONAIR: PolinaGhffith RalphGood-SOS OhginaIMix"|awk -F': ' '{print $2}'
PolinaGhffith RalphGood-SOS OhginaIMix

<强> SED

kent$  echo "0  ONAIR: PolinaGhffith RalphGood-SOS OhginaIMix"|sed 's/^.*: //'
PolinaGhffith RalphGood-SOS OhginaIMix