Linux 在cut中分隔符的含义是什么?为什么在这个命令中它要排序两次?
我正试图找到这个命令的原因,正如我所知,非常基本的我发现了这一点Linux 在cut中分隔符的含义是什么?为什么在这个命令中它要排序两次?,linux,sorting,unix,cut,uniq,Linux,Sorting,Unix,Cut,Uniq,我正试图找到这个命令的原因,正如我所知,非常基本的我发现了这一点 last | cut -d" " -f 1 | sort | uniq -c | sort last=last通过文件/var/log/wtmp(或由-f标志指定的文件)进行搜索,并显示自该文件创建以来登录(和注销)的所有用户的列表 cut用于显示所需的列 选项-d指定输入文件中使用的字段分隔符 -f指定要提取的字段 1.我想这是我不确定的结果 然后是排序,然后是 Uniq命令有助于删除或检测文件中的重复条目。本教程介绍了几个最
last | cut -d" " -f 1 | sort | uniq -c | sort
last
=last通过文件/var/log/wtmp(或由-f标志指定的文件)进行搜索,并显示自该文件创建以来登录(和注销)的所有用户的列表
cut
用于显示所需的列
选项-d
指定输入文件中使用的字段分隔符
-f
指定要提取的字段
1.我想这是我不确定的结果
然后是排序,然后是
Uniq
命令有助于删除或检测文件中的重复条目。本教程介绍了几个最常用的uniq命令行选项,这些选项可能会对您有所帮助
如果有人能解释这个命令,并解释为什么有两种类型,我将不胜感激。你对
cut
的解释是正确的:cut-d”“-f1
(在f
之后不需要空格)根据d
elimiter(空格)获取流的第一个f
字段
那么为什么要进行排序| uniq-c | sort
从man uniq的开始:
注:“uniq”不检测重复线,除非它们相邻。
您可能希望首先对输入进行排序,或者使用“sort-u”而不使用“uniq”。
此外,比较遵守“LC_COLLATE”指定的规则
这就是为什么在管道传输到uniq
之前需要对管线进行排序。最后,由于未对uniq
输出进行排序,您需要再次排序以首先查看重复次数最多的项
请参见具有重复项的给定文件的
排序
和uniq-c
示例:
$ seq 5 >>a
$ seq 5 >>a
$ cat a
1
2
3
4
5
1
2
3
4
5
$ sort a | uniq -c | sort <--- no repeated matches
2 1
2 2
2 3
2 4
2 5
$ uniq -c a | sort <---- repeated matches
1 1
1 1
1 2
1 2
1 3
1 3
1 4
1 4
1 5
1 5
这将在[]数组中存储第一列的值,并在找到更多值时增加计数器。在
END{}
块中,它打印未排序的结果,因此您可以再次通过管道进行sort
您对cut
的解释是正确的:cut-d”“-f1
(在f
之后不需要空格)根据d
elimiter“(空格)获取流的第一个f
字段
那么为什么要进行排序| uniq-c | sort
从man uniq的开始:
注:“uniq”不检测重复线,除非它们相邻。
您可能希望首先对输入进行排序,或者使用“sort-u”而不使用“uniq”。
此外,比较遵守“LC_COLLATE”指定的规则
这就是为什么在管道传输到uniq
之前需要对管线进行排序。最后,由于未对uniq
输出进行排序,您需要再次排序以首先查看重复次数最多的项
请参见具有重复项的给定文件的
排序
和uniq-c
示例:
$ seq 5 >>a
$ seq 5 >>a
$ cat a
1
2
3
4
5
1
2
3
4
5
$ sort a | uniq -c | sort <--- no repeated matches
2 1
2 2
2 3
2 4
2 5
$ uniq -c a | sort <---- repeated matches
1 1
1 1
1 2
1 2
1 3
1 3
1 4
1 4
1 5
1 5
这将在[]数组中存储第一列的值,并在找到更多值时增加计数器。在
END{}
块中,它打印未排序的结果,因此您可以再次通过管道进行sort
您对cut
的解释是正确的:cut-d”“-f1
(在f
之后不需要空格)根据d
elimiter“(空格)获取流的第一个f
字段
那么为什么要进行排序| uniq-c | sort
从man uniq的开始:
注:“uniq”不检测重复线,除非它们相邻。
您可能希望首先对输入进行排序,或者使用“sort-u”而不使用“uniq”。
此外,比较遵守“LC_COLLATE”指定的规则
这就是为什么在管道传输到uniq
之前需要对管线进行排序。最后,由于未对uniq
输出进行排序,您需要再次排序以首先查看重复次数最多的项
请参见具有重复项的给定文件的
排序
和uniq-c
示例:
$ seq 5 >>a
$ seq 5 >>a
$ cat a
1
2
3
4
5
1
2
3
4
5
$ sort a | uniq -c | sort <--- no repeated matches
2 1
2 2
2 3
2 4
2 5
$ uniq -c a | sort <---- repeated matches
1 1
1 1
1 2
1 2
1 3
1 3
1 4
1 4
1 5
1 5
这将在[]数组中存储第一列的值,并在找到更多值时增加计数器。在
END{}
块中,它打印未排序的结果,因此您可以再次通过管道进行sort
您对cut
的解释是正确的:cut-d”“-f1
(在f
之后不需要空格)根据d
elimiter“(空格)获取流的第一个f
字段
那么为什么要进行排序| uniq-c | sort
从man uniq的开始:
注:“uniq”不检测重复线,除非它们相邻。
您可能希望首先对输入进行排序,或者使用“sort-u”而不使用“uniq”。
此外,比较遵守“LC_COLLATE”指定的规则
这就是为什么在管道传输到uniq
之前需要对管线进行排序。最后,由于未对uniq
输出进行排序,您需要再次排序以首先查看重复次数最多的项
请参见具有重复项的给定文件的
排序
和uniq-c
示例:
$ seq 5 >>a
$ seq 5 >>a
$ cat a
1
2
3
4
5
1
2
3
4
5
$ sort a | uniq -c | sort <--- no repeated matches
2 1
2 2
2 3
2 4
2 5
$ uniq -c a | sort <---- repeated matches
1 1
1 1
1 2
1 2
1 3
1 3
1 4
1 4
1 5
1 5
这将在[]数组中存储第一列的值,并在找到更多值时增加计数器。在
END{}
块中,它打印未排序的结果,因此您可以再次通过管道进行排序sortuniq-c用于创建频率直方图。第二种排序的原因是,您正在按频率顺序对柱状图进行排序
第一种排序的原因是,当确定行是否唯一时,uniq仅将每一行与其前一行进行比较。uniq-c用于创建频率直方图。第二种排序的原因是,您正在按频率顺序对柱状图进行排序
第一种排序的原因是,当确定行是否唯一时,uniq仅将每一行与其前一行进行比较。uniq-c用于创建频率直方图。再