删除字符串直到第一次出现某个字符

时间:2015-05-20 14:07:40

标签: linux bash shell replace

是否有办法删除第一次出现的某个角色和该角色的所有角色。

var compiledContents;
return function(scope, iElement, iAttr) {
    if(!compiledContents) {
        compiledContents = $compile(contents);
    }

compiledContents(scope, function(clone, scope) {
    iElement.append(clone); 
});

,输出为:

123:abc
12:cba
1234:cccc

4 个答案:

答案 0 :(得分:3)

使用sed:

sed 's/^[^:]*://' file
abc
cba
cccc

或者使用awk:

awk -F: '{print $2}' file
abc
cba
cccc

答案 1 :(得分:1)

您可以使用cut

$ cut -d":" -f2- myfile.txt 

答案 2 :(得分:1)

使用awk

echo "123:abc" | awk -F ":" '{print $2}'
  • -F表示使用:作为分隔符来分割字符串。
  • {print $2}表示打印第二个子字符串。

答案 3 :(得分:1)

如果数据在变量中,您可以使用参数扩展:

$ var=123:abc
$ echo ${var#*:}
abc
$

#表示从字符串的前面删除*:(任何后跟冒号)的最短模式,如您在要求中所述"删除所有字符直到第一次出现某个字符+该字符",不得获得分隔符为冒号的第二个字段。