如何查找其中包含大于号或小于号的行?
下面的grep命令不返回任何结果:
grep "<|>" sff .out
但是,一次只对一个符号执行操作确实会从文件中返回数据。该文件包含sdiff命令的输出。
这样做的目的是只看到两个文件之间的实际不同行。
谢谢你的建议。
在grep中使用-P
或-E
选项,在字符类中使用><
符号,
grep -P '[><]' file
或
grep -E '[><]' file
例子:
$ cat file
chr - xyz ordered_A01 5480 6144>
chr - xyz ordered_A01 5480 58001
rm -rf ~/Desktop/-r <
$ grep -P '[><]' file
chr - xyz ordered_A01 5480 6144>
rm -rf ~/Desktop/-r <
$ grep -E '[><]' file
chr - xyz ordered_A01 5480 6144>
rm -rf ~/Desktop/-r <
表达式grep "<|>" sdiff.out
应该可以工作。无论如何,您可以使用-E
来定义由|
分隔的不同模式,从而获得相同的行为:
grep -E '<|>' file
测试$ cat a
hello < i am
here > and this
is a test
blabla <> iea
$ grep -E '<|>' a
hello < i am
here > and this
blabla <> iea