如何使用 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