浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Linux按列合并两文件,列的拼合_苏冉旭的博客_百度空间

Linux按列合并两文件,列的拼合

awk 和 cut 都能把一个多列文件差分成单列文件,那么反过来也可以用paste命令把多个单列文件拼合成一个多列文件。

 

命令举例:

paste names numbers   将两个文件合并用tab键分隔开
paste -d'+' names numbers   将两个文件合并指定'+'符号隔开
paste -s names        将多行数据合并到一行用tab键隔开

 

参数说明:合并文件的列。
语  法:paste [-s][-d ][--help][--version][文件...]
补充说明:paste指令会把每个文件以列对列的方式,一列列地加以合并。
参  数:
-d或--delimiters=  用指定的间隔字符取代跳格字符。
-s或--serial  串列进行而非平行处理。
--help  在线帮助。
--version  显示帮助信息。

使用情景:

$ cat names
Tony
Emanuel
Lucy
Ralph
Fred
gan.cublog.cn


$ cat numbers
(307) 555-5356
(212) 555-3456
(212) 555-9959
(212) 555-7741
(212) 555-0040


$ paste names numbers 将两个文件合并,他们中间用tab键分隔开
Tony (307) 555-5356
Emanuel (212) 555-3456
Lucy (212) 555-9959
Ralph (212) 555-7741
Fred (212) 555-0040
gan.cublog.cn
$ cat addresses
55-23 Vine Street, Miami
39 University Place, New York
17 E. 25th Street, New York
38 Chauncey St., Bensonhurst
17 E. 25th Street, New York
gan.cublog.cn
$ paste names addresses numbers
Tony 55-23 Vine Street, Miami (307) 555-5356
Emanuel 39 University Place, New York (212) 555-3456
Lucy 17 E. 25th Street, New York (212) 555-9959
Ralph 38 Chauncey St., Bensonhurst (212) 555-7741
Fred 17 E. 25th Street, New York (212) 555-0040
$ paste -d' ' names addresses numbers 他们中间用指定的' '符号隔开
Tony 55-23 Vine Street, Miami (307) 555-5356
Emanuel 39 University Place, New York (212) 555-3456
Lucy 17 E. 25th Street, New York (212) 555-9959
Ralph 38 Chauncey St., Bensonhurst (212) 555-7741
Fred 17 E. 25th Street, New York (212) 555-0040
$ paste -s names 将多行数据合并到一行,他们间用tab键隔开
Tony Emanuel Lucy Ralph Fred

 

参考资料:

[1]: http://hi.baidu.com/quanzhou722/blog/item/6ecb30a72513ec8fd043584e.html

[2]: http://hi.baidu.com/pinemoon/blog/item/aae173aff5c021034b36d635.html

posted on 2013-03-15 11:18  lexus  阅读(3480)  评论(0编辑  收藏  举报