我试着用grep,awk,search和我在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"

但正如我所说,我仍然找不到命令来查找同一行中的特定数据。
谢谢你的帮助。

最佳答案

我要用锥子。

$ awk '/222/ && /333/' file
aaa, bbb, 333, 222,
333, iii, uuu, 222,

或者
$ grep -P '^(?=.*\b222\b)(?=.*\b333\b)' file
aaa, bbb, 333, 222,
333, iii, uuu, 222,

关于linux - Linux/Unix在同一行中选择特定数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27985383/

10-13 02:12