gpt4 book ai didi

linux - 在 sed 中添加前导 0

转载 作者:可可西里 更新时间:2023-11-01 11:45:13 25 4
gpt4 key购买 nike

<分区>

我想在一串数字中添加前导零,以便正好有三位数字。考虑例如

echo "hello_1"   | sed -E 's/([0-9]+)/00\1/'  # hello_001
echo "hello_12" | sed -E 's/([0-9]+)/0\1/' # hello_012
echo "hello_123" | sed -E 's/([0-9]+)/\1/' # hello_123

现在,问题是我在这里使用了三个不同的表达式,而我同时通过管道传输到 sed 多行。有点像

printf "hello_1\nhello_12\nhello_123\n" | sed -E 's/([0-9]+)/0\1/'
hello_01
hello_012
hello_0123

结果不是我要找的。预期的输出是

hello_001
hello_012
hello_123

我试过了

printf "hello_1\nhello_12\nhello_123\n" |  sed -r ":r;s/\b[0-9]{1,$((3-1))}\b/0&/g;tr"
hello_1
hello_12
hello_123

我从 this post 得到的但它不起作用,我不明白它是如何工作的。


我在 Linux 上使用 GNU sed 4.2.1 版

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com