Bash从行中删除字符



>我有一个包含以下数据的文件

:1:aaaaa:aaa
:aaa

我想使用 bash 删除前导冒号,就像

1:aaaaa:aaa
:aaa

您可以使用sed

sed 's/^://' filename

^表示行的开头,因此^:将匹配行首的冒号。 一无所有!

str=':1:aaaaa:aaa:aaa'
echo ${str:1} #=> 1:aaaaa:aaa:aaa

资源:Bash 字符串操作

除了 sed,您还可以通过使用 cut 对大文件进行如此简单的操作获得更好的性能:

cut myfile -d : -f 2-

您还可以使用其他 -f 值以这种方式提取其他字段。

如果要从变量中的数据中删除前导冒号,例如在循环中,也可以这样做

myvar=":1:aaaaa:aaa:aaa"
echo ${myvar#:}

相关内容

  • 没有找到相关文章

最新更新