如何使用sed删除具有一位数而不是双位数的行

如何使用sed删除具有一位数而不是双位数的行,sed,Sed,我有这条线 sed -i '/Total number 1/d' /tmp/test.txt 这将删除行 Total number 1 但它也删除了, Total number 11 Total number 12 Total number 13 如何将其设置为仅删除单个数字?在末尾添加一个美元符号sed-I'/Total number 1$/d'/tmp/test.txt 此外,如果要删除任何单个数字,请替换1:sed-i'/Total number[0-9]$/d'/tmp/tes

我有这条线

sed -i '/Total number 1/d' /tmp/test.txt
这将删除行

Total number 1
但它也删除了,

Total number 11

Total number 12

Total number 13

如何将其设置为仅删除单个数字?

在末尾添加一个美元符号
sed-I'/Total number 1$/d'/tmp/test.txt

此外,如果要删除任何单个数字,请替换1:
sed-i'/Total number[0-9]$/d'/tmp/test.txt


最后,如果数字不一定在行尾,当找到行尾或非数字时,也可以使用模式结束:
sed-i-E'/Total number[0-9]($|[^0-9])/d'/tmp/test.txt
在末尾添加一个美元符号
sed-i'/Total number 1$/d'/tmp/test.txt

此外,如果要删除任何单个数字,请替换1:
sed-i'/Total number[0-9]$/d'/tmp/test.txt


最后,如果数字不一定在行尾,当找到行尾或非数字时,也可以使用模式结束:
sed-i-E'/Total number[0-9]($|[^0-9])/d'/tmp/test.txt

精确且通用的解决方案是:

sed '/\b[[:digit:]]\b/d'
\b
代表一个


确保上述命令对您有效后,请传递
-i
选项,因为它将有效地更改您的输入文件。

精确且通用的解决方案是:

sed '/\b[[:digit:]]\b/d'
\b
代表一个

确保上述命令对您有效后,请传递
-i
选项,因为它将有效地更改您的输入文件。

一个“字尾”标记也应该有效:
/Total number[0-9]\>/d
一个“字尾”标记也应该有效:
/Total number[0-9]\>/d