>我有一个包含以下数据的文件
: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#:}