【发布时间】:2022-01-27 05:51:04
【问题描述】:
我在一个文件中有这个文本
random text 1.- random text 2. random text 3.- random 22 text 4. random text
我想在每个数字前创建一个新行,后跟一个点。这是我的代码:
for number in {1..4}
do
var=$(sed -n "s/.*\([^0-9]$number\.[^0-9]\).*/\1/p" file)
echo $var
sed -i "s/$var/\n$var/g" file
done
这是我得到的结果:
random text
1.- random text
2. random text
3.- random
2. text
4. random text
如果没有点,我不明白为什么它会在数字 22 之前创建一个新行。预期的结果是这样的:
random text
1.- random text
2. random text
3.- random 22 text
4. random text
有人可以帮助我并解释我的错误在哪里吗?非常感谢
【问题讨论】:
-
我的说法有误,我想说“之前”。文字现已更正。