使用文件的多行反转 grep 匹配
Multi line invert grep match using file
我正在尝试可视化在 Debian Linux 5.14 中保存点之后创建的所有新套接字:
ss -a > state
ss -a | grep -v -f state
预期输出:无
观察到的输出:与 ss -a
相同
我检查了文件的内容,每一行都正确地以 $ 结尾,表明它是多行的。
无法真正理解为什么会发生这种情况,有没有人以前遇到过这种情况?
- 使用
-F
将行视为固定字符串而不是正则表达式。这确保 *
和 [::ffff:127.0.0.1]
之类的项目不会被视为通配符和字符 类.
- 为了更好地衡量,请使用
-x
来匹配整行。
$ ss -a > state
$ wc -l < state
1867
$ ss -a | grep -vxFf state | wc -l
56
我正在尝试可视化在 Debian Linux 5.14 中保存点之后创建的所有新套接字:
ss -a > state
ss -a | grep -v -f state
预期输出:无
观察到的输出:与 ss -a
相同我检查了文件的内容,每一行都正确地以 $ 结尾,表明它是多行的。
无法真正理解为什么会发生这种情况,有没有人以前遇到过这种情况?
- 使用
-F
将行视为固定字符串而不是正则表达式。这确保*
和[::ffff:127.0.0.1]
之类的项目不会被视为通配符和字符 类. - 为了更好地衡量,请使用
-x
来匹配整行。
$ ss -a > state
$ wc -l < state
1867
$ ss -a | grep -vxFf state | wc -l
56