Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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
Linux 如何查找存储在文件数据txt中的特定文本,并且该文本只出现一次?_Linux - Fatal编程技术网

Linux 如何查找存储在文件数据txt中的特定文本,并且该文本只出现一次?

Linux 如何查找存储在文件数据txt中的特定文本,并且该文本只出现一次?,linux,Linux,我想知道为什么我们使用uniq-u和sort命令 如果我只使用uniq-u data.txt,那么它会打印每一行,而不是我需要的唯一行。以下是我得到的: $ uniq --help 用法:uniq[选项]。。。[输入[输出]] 从输入(或标准输入)、写入到输出(或标准输出)中过滤相邻的匹配行 [……] 因此,您希望在将内容发送到uniq之前使用sort,以便使所有匹配行相邻。uniq过滤掉相邻的匹配行 示例file.txt Hello World It is sunshine Warm wea

我想知道为什么我们使用
uniq-u
sort
命令


如果我只使用
uniq-u data.txt
,那么它会打印每一行,而不是我需要的唯一行。

以下是我得到的:

$ uniq --help
用法:uniq[选项]。。。[输入[输出]]

从输入(或标准输入)、写入到输出(或标准输出)中过滤相邻的匹配行

[……]


因此,您希望在将内容发送到
uniq
之前使用
sort
,以便使所有匹配行相邻。

uniq
过滤掉相邻的匹配行

示例
file.txt

Hello World
It is sunshine
Warm weather
Hello World
Hello World
Winter is coming
It is sunshine
Hello World
Java code
Java code

$ uniq -u file.txt
Hello World
It is sunshine
Warm weather
Winter is coming
It is sunshine
Hello World
所有相邻的匹配线都已删除。例如,包含
Hello World

排序将匹配行分组在一起

$ sort file.txt
Hello World
Hello World
Hello World
Hello World
It is sunshine
It is sunshine
Java code
Java code
Warm weather
Winter is coming
分拣输出的管道将实现重复管线的移除

$ sort file.txt | uniq -u
Warm weather
Winter is coming

尝试改用grep。改进格式。