Go to main content

手册页部分 1:用户命令

退出打印视图

更新时间: 2022年7月27日 星期三
 
 

paste(1)

名称

paste - 合并文件中的对应行或后续行

用法概要

/usr/bin/paste [options] [file...]

描述

paste 实用程序会串联给定输入文件的对应行,并将生成的行写入标准输出。

paste 的缺省操作是串联输入文件的对应行。除了最后一个输入文件的行以外,每行的换行符都替换为制表符。

如果在一个或多个(但不是所有)输入文件上检测到 EOF(文件结尾)条件,paste 会按照从检测到 EOF 的文件读取空行的方式执行操作,除非指定了 –s 选项。

选项

支持以下选项:

–d list

除非反斜杠字符 (\) 出现在列表中,否则列表中的每个字符都是指定分隔符的元素。如果反斜杠字符出现在列表中,反斜杠字符及其后面的一个或多个字符都是指定分隔符的元素,具体如下文所示。这些元素会指定要使用的一个或多个分隔符,而非缺省的制表符,用于替换输入行的换行符。列表中的元素会循环使用。也就是说,列表中的元素用遍后,则会重新使用列表中的第一个元素。

指定 –s 选项时:

  • 不修改文件中的最后一个换行符。

  • 每个文件操作数都处理完毕后,将分隔符重置为列表中的第一个元素。

未指定此选项时:

  • 不修改最后一个文件指定的文件中的换行符。

  • 每个文件的行都处理完毕后,将分隔符重置为列表中的第一个元素。

如果反斜杠字符出现在列表中,使用反斜杠字符及其后面的字符表示以下分隔符:

\n

换行符。

\t

TAB 字符。

\\

反斜杠字符。

\0

空字符串(不是 null 字符)。如果 0 后面紧跟字符 x、字符 XLC_CTYPE 数字关键字定义的任何字符,则结果不确定。

如果反斜杠后面跟有任何其他字符,则结果不确定。

–s

按命令行顺序串联各输入文件的所有行。每个输入文件的每一行(最后一行除外)的换行符都替换为制表符,除非 –d 选项另有指定。

操作数

支持下列操作数:

file

输入文件的路径名称。如果为一个或多个文件指定,则使用标准输入。为点 (.) 的每个实例循环读取标准输入,一次一行。实现支持跳过至少 12 个文件操作数。

示例

示例 1 在一列中列出目录

以下是在一列中列出目录的示例:

example% ls | paste -d " " −
示例 2 在四列中列出目录

以下是在四列中列出目录的示例:

example% ls | paste − − − −
示例 3 将一个文件的多个行对合并为多个单行

以下是将文件的多个行对合并为多个单行的示例:

example% paste -s -d "\t\n" file

环境变量

See environ(7) for descriptions of the following environment variables that affect the execution of paste: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.

退出状态

将返回以下退出值:

0

成功完成。

> 0

出现错误。

属性

有关下列属性的说明,请参见 attributes(7)

属性类型
属性值
可用性
system/core-os
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见 standards(7)

另请参见

cut(1), grep(1), attributes(7), environ(7), standards(7)