首先,我们还是看一下官方文档
$ paste --help
Usage: paste [OPTION]... [FILE]...
Write lines consisting of the sequentially corresponding lines from
each FILE,separated by TABs,to standard output.
With no FILE,or when FILE is -,read standard input.
Mandatory arguments to long options are mandatory for short options too.
-d,--delimiters=LIST reuse characters from LIST instead of TABs
-s,--serial paste one file at a time instead of in parallel
--help display this help and exit
--version output version information and exit
-d 指定不同于空格或tab键的域分隔符。例如用@分隔域,使用- d @。
-s 将每个文件合并成行而不是按行粘贴。
实例
假设我们现在有两个文件
$ cat file1
1 Alice
2 Bob
3 cheryl
4 Doghead
$ cat file2
11 60.0
22 70.0
33 80.0
4 90.0
然后直接按列合并一下,无需思考指定匹配列
$ paste file1 file2
1 Alice 11 60.0
2 Bob 22 70.0
3 cheryl 33 80.0
4 Doghead 4 90.0
想用不同的符合隔开?试试-d
$ paste -d@ file1 file2
1 Alice@11 60.0
2 Bob@22 70.0
3 cheryl@33 80.0
4 Doghead@4 90.0
想把文件『旋转』一下?
$ paste -s file1 file2
1 Alice 2 Bob 3 cheryl 4 Doghead
11 60.0 22 70.0 33 80.0 4 90.0
可以看到,竖着贴横着贴都没问题,反正就是暴力合并,怎么样?用它!
不实用paste:
$ ls tf/data/train | head -10
part-00000.gz
part-00001.gz
part-00002.gz
part-00003.gz
part-00004.gz
part-00005.gz
part-00006.gz
part-00007.gz
part-00008.gz
part-00009.gz
使用paste:
$ ls tf/data/train | head -10 | paste -d" " - - - - -
part-00000.gz part-00001.gz part-00002.gz part-00003.gz part-00004.gz
part-00005.gz part-00006.gz part-00007.gz part-00008.gz part-00009.gz
在目录下文件特别多的时候会方便一些。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。