Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 找到4个文件的交集_Macos_Ubuntu_Terminal_String Search - Fatal编程技术网

Macos 找到4个文件的交集

Macos 找到4个文件的交集,macos,ubuntu,terminal,string-search,Macos,Ubuntu,Terminal,String Search,如何找到4个文件的交集 我使用了grep-Fx-f1.txt 2.txt 3.txt 4.txt,但它似乎只适用于2个文件。类似地,comm-12 1.txt 2.txt无法扩展为4个文件,需要对数据进行排序。我的数据没有被排序,事实上,它不应该被排序。我在Mac上 输入: 1.txt .css .haha .hehe 2.txt .ajkad .shdja .hehe 3.txt .css1 .aaaaa .hehe 4.txt .qwqw .kkkmsm .hehe 输出:。呵呵 我首

如何找到4个文件的交集

我使用了
grep-Fx-f1.txt 2.txt 3.txt 4.txt
,但它似乎只适用于2个文件。类似地,
comm-12 1.txt 2.txt
无法扩展为4个文件,需要对数据进行排序。我的数据没有被排序,事实上,它不应该被排序。我在Mac上

输入:

1.txt
.css
.haha
.hehe
2.txt
.ajkad
.shdja
.hehe

3.txt
.css1
.aaaaa
.hehe

4.txt
.qwqw
.kkkmsm
.hehe
输出:
。呵呵


我首先在存储在12.txt中的1和2上使用grep,而在存储在34.txt中的3和4上使用grep,然后在12.txt和34.txt上再次使用grep。但是必须有更好的方法来做到这一点。

您可以链接grep:

grep -f 1.txt 2.txt \
| grep -f- 3.txt \
| grep -f- 4.txt

-f-
表示使用来自管道的输入,而不是实际文件。

您可以链接grep:

grep -f 1.txt 2.txt \
| grep -f- 3.txt \
| grep -f- 4.txt

-f-
表示使用了来自管道的输入,而不是实际文件。

您可以找到两个文件之间的交点:

$ grep -Fx -f f1.txt f2.txt
.hehe
然后将其作为其他两个的输入:

$ grep -f <(grep -Fx -f f1.txt f2.txt) f3.txt f4.txt
f3.txt:.hehe
f4.txt:.hehe

$grep-f您可以找到两个之间的交点:

$ grep -Fx -f f1.txt f2.txt
.hehe
然后将其作为其他两个的输入:

$ grep -f <(grep -Fx -f f1.txt f2.txt) f3.txt f4.txt
f3.txt:.hehe
f4.txt:.hehe

$grep-f在这种情况下,交叉点是什么意思?您能提供一个简短的输入示例和所需的输出吗?好了……在这种情况下,交叉点是什么意思?你能提供一个简短的输入示例和期望的输出吗?好了…@sanjihan:grep-f是正确的,我误解了我的数据。谢谢大家!@sanjihan:grep-f是正确的,我误解了我的数据。非常感谢。