我试图通过我自己使用grep,awk,搜索以及我在Google上找到的许多其他命令来做到这一点,但它没有成功。
例如,我的test.txt包含:
aaa, bbb, 333, 222,
ccc, kkk, 222, eee,
333, ooo, qqq, 555,
333, iii, uuu, 222,
以及我需要做什么,选择在同一行中有222和333的行。 所以我应该得到:
aaa, bbb, 333, 222,
333, iii, uuu, 222,
到目前为止我尝试的是:
$ egrep -R -w '222|333' test.txt
$ awk '/222|333/' failas
我也知道如何查找没有222或333的行
$ grep -v -e "222" -e "333"
但正如我所说,我仍然无法在同一行找到找到该特定数据的命令。
感谢您的帮助。
答案 0 :(得分:3)
我会用awk。
$ awk '/222/ && /333/' file
aaa, bbb, 333, 222,
333, iii, uuu, 222,
OR
$ grep -P '^(?=.*\b222\b)(?=.*\b333\b)' file
aaa, bbb, 333, 222,
333, iii, uuu, 222,
答案 1 :(得分:2)
使用GNU grep:
grep 222, file | grep 333,
或
grep '222,.*333,\|333,.*222,' file
或
grep -e '222,.*333,' -e '333,.*222,' file
输出:
aaa, bbb, 333, 222, 333, iii, uuu, 222,