查看“Uniq:去重文件”的源代码
←
Uniq:去重文件
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
uniq 将给定输入中的唯一行写入,如果没有给定输入或输入名为“-”,则写入标准输入。 <br> 语法: <pre>uniq [选项]… [输入 [输出]]</pre> <br> 默认情况下,uniq 打印其输入行,但丢弃所有相邻重复行的除第一个之外的所有输出行,因此没有输出行是重复的。可选地,它可以丢弃不重复的行,或者所有重复的行。 输入不需要排序,但只有在相邻的情况下才会检测到重复的输入行。如果你想丢弃非相邻的重复行,也许你想使用 sort -u。 <br> 比较遵循由 LC_COLLATE 区域设置类别指定的规则。 <br> 如果没有指定输出文件,uniq 将写入标准输出。 <br> <span id="选项-1"></span> == 选项 == <span id="f-n"></span> === ‘-f n’ === <span id="skip-fieldsn"></span> === ‘–skip-fields=n’ === 在检查唯一性之前跳过每行的 n 个字段。如果一行的字段数少于 n,则使用空字符串进行比较。字段是由空白字符后跟非空白字符组成的序列。字段编号是基于 1 的,即 -f 1 将跳过第一个字段(该字段可能具有前导空白)。 <br> <span id="s-n"></span> === ‘-s n’ === <span id="skip-charsn"></span> === ‘–skip-chars=n’ === 在检查唯一性之前跳过 n 个字符。如果一行的字符数少于 n,则使用空字符串进行比较。如果你同时使用字段和字符跳过选项,则首先跳过字段。 在不符合 POSIX 1003.1-2001 的系统上,uniq 支持传统的选项语法 +n。尽管这种传统行为可以通过 _POSIX2_VERSION 环境变量(参见标准符合性)控制,但可移植脚本应避免依赖于此变量的命令。例如,使用 ‘uniq ./+10’ 或 ‘uniq -s 10’ 而不是模糊的 ‘uniq +10’。 <br> <span id="c"></span> === ‘-c’ === <span id="count"></span> === ‘–count’ === 打印每行出现的次数。 <br> <span id="i"></span> === ‘-i’ === <span id="ignore-case"></span> === ‘–ignore-case’ === 忽略比较行时的大小写差异。 <br> <span id="d"></span> === ‘-d’ === <span id="repeated"></span> === ‘–repeated’ === 丢弃不重复的行。当单独使用时,此选项使 uniq 打印每个重复行的第一次副本,然后什么都不打印。 <br> <span id="d-1"></span> === ‘-D’ === <span id="all-repeateddelimit-method"></span> === ‘–all-repeated[=delimit-method]’ === 不要丢弃后续重复的输入行,但丢弃不重复的行。此选项主要用于与其他选项结合使用,例如忽略大小写或仅比较选定的字段。可选的 delimit-method,与长格式选项一起支持,指定如何分隔重复行的组,必须是以下之一: * ‘none’ ** 不分隔重复行的组。这与 –all-repeated(-D)相同。 * ‘prepend’ ** 在每个重复行的组前输出换行符。使用 –zero-terminated(-z),使用零字节(ASCII NUL)作为分隔符,而不是换行符。 * ‘separate’ ** 用单个换行符分隔重复行的组。这与使用 ‘prepend’ 相同,只是没有在第一个组之前插入分隔符,因此可能更适合直接输出给用户。使用 –zero-terminated(-z),使用零字节(ASCII NUL)作为分隔符,而不是换行符。 <br> <blockquote>注意,当组被分隔并且输入流包含空行时,输出是模糊的。为了避免这种情况,通过 ‘tr -s’’ 过滤输入以删除空行。 这是一个 GNU 扩展。 </blockquote> <br> <span id="groupdelimit-method"></span> === ‘–group[=delimit-method]’ === 输出所有行,并分隔每个唯一组。使用 –zero-terminated(-z),使用零字节(ASCII NUL)作为分隔符。可选的 delimit-method 指定如何分隔组,必须是以下之一: * ‘separate’ ** 用单个分隔符分隔唯一组。这是默认的分隔方法(如果没有指定),并且更适合直接输出给用户。 * ‘prepend’ ** 在每个唯一项组前输出分隔符。 * ‘append’ ** 在每个唯一项组后输出分隔符。 * ‘both’ ** 在每个唯一项组周围输出分隔符。 <blockquote>注意,当组被分隔并且输入流包含空行时,输出是模糊的。为了避免这种情况,通过 ‘tr -s’’ 过滤输入以删除空行。 这是一个 GNU 扩展。 </blockquote> <br> <span id="u"></span> === ‘-u’ === <span id="unique"></span> === ‘–unique’ === 丢弃重复输入组的最后一行。当单独使用时,此选项使 uniq 打印唯一行,然后什么都不打印。 <br> <span id="w-n"></span> === ‘-w n’ === <span id="check-charsn"></span> === ‘–check-chars=n’ === 在每行上最多比较 n 个字符(在跳过任何指定字段和字符之后)。默认情况下,整个其余行都被比较。 <br> <span id="z-1"></span> === ‘-z’ === <span id="zero-terminated-1"></span> === ‘–zero-terminated’ === 用零字节分隔项目,而不是换行符(ASCII LF)。即,将输入视为由 ASCII NUL 分隔的项目,并以 ASCII NUL 终止输出项目。这可以与 ‘perl -0’ 或 ‘find -print0’ 以及 ‘xargs -0’ 一起使用,以便可靠地处理任意文件名(即使其中包含空格或其他特殊字符)。请注意,与 -z 一起,换行符被视为字段分隔符。 <br>
返回至“
Uniq:去重文件
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息