手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

paste(1)

名称

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

用法概要

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

描述

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

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

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

选项

支持以下选项:

–d list

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

指定 –s 选项时:

  • 不修改文件中的最后一个 NEWLINE 字符。

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

未指定此选项时:

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

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

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

\n

NEWLINE 字符。

\t

TAB 字符。

\\

反斜杠字符。

\0

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

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

–s

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

操作数

支持下列操作数:

file

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

用法

有关 paste 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)

示例

示例 1 在一列中列出目录

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

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

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

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

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

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

环境变量

有关影响 paste 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

退出状态

将返回以下退出值:

0

成功完成。

>0

出现错误。

属性

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

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

另请参见

cut(1)grep(1)attributes(5)environ(5)largefile(5)standards(5)