如果仅包含特定数字,则使用 sed 删除整行

如果仅包含特定数字,则使用 sed 删除整行

我有一个txt文件

123
456
789
456
123456

我想从文件中删除特定字符,即(123)。我尝试过

$ sed -i '/123/d' dummy.sh
$ vi dumm.txt
456
789
456

在下面的命令中,当我运行时,单词 (123123456) 都被删除,但我只需要从123文件中删除

$ sed -i 's/123//g' dummy.sh
$ vi dumm.txt
456
789
456
456

当我运行以下命令时,该命令123将被替换为 null。

谁能告诉我如何删除仅包含特定数字的整行?

答案1

目前尚不清楚您是否要尝试删除整行123或将其替换为空行。无论如何,只需将行首^和行尾的锚点添加$到您的模式中即可:

sed -i '/^123$/d' dummy.sh      #delete whole line
sed -i 's/^123$//' dummy.sh     #replace with empty line

相关内容