如何使用sed删除字符串?

问题描述 投票:-1回答:1

我需要用没有前导零的商店编号替换所有出现的具有前导零的商店编号的“ StoreId ...”。我已经成功使用以下代码完成了它:

sed -i '/StoreId=\"0022\"/c\StoreId=\"22\"' $1

但是这样做是很糟糕的,因为我需要为每个商店编号使用一行,并且脚本将循环遍历每个sed语句...这只是永久的。

我想这样一行:

StoreId =“ 0343”

并像这样重写它:

StoreId =“ 343”

(或StoreId =“ 0030”到StoreId =“ 30”)

基本上,我只想在一行中删除前导零。我尝试通读SED手册,但我还不够聪明。任何帮助,将不胜感激。

bash sed
1个回答
0
投票

您不需要在前导零之后匹配任何内容。

sed -i -r 's/StoreId="0+/StoreId="/' "$1"

[0+与至少1个0字符的序列匹配。

© www.soinside.com 2019 - 2024. All rights reserved.