使用 sed 删除字符串中第一个已知字符

使用 sed 删除字符串中第一个已知字符

如何使用 sed 删除字符串中第一个已知字符?

例如,假设我想删除字符串“@ABCDEFG1234”中的第一个字符(@)

我希望 sed 验证“@”是否作为第一个字符存在。如果存在,它应该删除该字符。

答案1

sed 's/^@\(.*\)/\1/'

^表示字符串的开头

@你的已知角色

(.*)其余的,被捕获

然后捕获的块将被替换到输出抱歉,目前无法测试,但应该是这样的

答案2

无需捕获并替换。

sed 's/^@//'

当字符在字符串中@第一个出现时,它将被替换为空。因此,删除它。^

答案3

你可以这样做。

sed's/^.//'

^ - Starting character 
. - No of charactes(.. means two characters)

例子 :

echo test123 | sed 's/^.//'
est123
echo test123 | sed 's/^..//'
st123

相关内容