当前位置: 首页 > 面试题库 >

Bash连接命令

仲孙翔飞
2023-03-14
问题内容

Infile1:

1 a
3 c
4 d
6 f

Infile2:

1 a 
2 b
5 e
6 f
7 g
8 h

我如何使用unix join命令加入这些文件以获取以下输出:

1 aa
2 b
3 c
4 d
5 e
6 ff
7 g 
8 h

Dogbanes答案有效,但是…当我在此文件上应用Dogbanes答案时:

27  27
28  22
29  37
30  15
31  21
32  13
33  18
34  24

和这个:

27  7
28  13
29  6
30  12
31  30
32  5
33  10
34  28

他们不加入:

27  27
27  7
28  13
28  22
29  37
29  6
30  12
30  15
31  21
31  30
32  13
32  5
33  10
33  18
34  24
34  28

第二种情况是制表符分隔的,所以我用 -t \t


问题答案:

首先sort两个文件。然后使用join联接两个文件的第一个字段。sed如果要删除空间并转换a a为,则还需要通过管道传递输出aa。如下所示:

$ join -t " " -1 1 -2 1 -a 1 -a 2  <(sort file1) <(sort file2) | sed 's/ \([a-z]\) / \1/g'
1 aa
2 b
3 c
4 d
5 e
6 ff
7 g
8 h


 类似资料:
  • 基础常用命令 某个命令 --h,对这个命令进行解释 某个命令 --help,解释这个命令(更详细) man某个命令,文档式解释这个命令(更更详细)(执行该命令后,还可以按/+关键字进行查询结果的搜索) Ctrl + c,结束命令 TAB键,自动补全命令(按一次自动补全,连续按两次,提示所有以输入开头字母的所有命令) 键盘上下键,输入临近的历史命令 history,查看所有的历史命令 Ctrl +

  • 主要内容:Redis连接命令,连接命令应用Redis 连接命令是主要用于验证 Redis 服务器的连接状态,比如验证客户端与 Redis 服务器是否连接成功,以及检查服务器运行状态,以及是否断开当前连接等。 我们知道,只有当客户端与服务器正常连接后才能够实现彼此的交互、通信。Redis 通过“Redis序列化协议”(简称“RESP”),实现客户端与服务端之间的连接通信,该协议主要包括两个部分:网络模型和序列化协议。 网络模型主要负责数据交

  • null 我一直使用bash命令(如和for loop)来执行Web Cloud Shell中的一些命令,现在我无法让它们在SDK Shell上工作。

  •   let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。如果表达式中包含了空格或其他特殊字符,则必须引起来。 语法格式 let arg [arg ...] 参数说明: arg:要执行的表达式 实例: #!/bin/bash # author:Asa Guo let no++ # 自增 let no-- # 自减 l

  • 问题内容: 在Mac上如何从命令行连接到MySQL?(即给我看代码) 我正在做一个PHP / SQL教程,但首先假设您已经在MySQL中。 问题答案: 看到这里http://dev.mysql.com/doc/refman/5.0/en/connecting.html 上面的选项表示: 查看链接,那里有详细的链接! 如Rick所述,您可以通过不这样传递密码来避免将密码作为命令的一部分传递: 编辑此

  • 问题内容: 我在修复此bash脚本中的错误时遇到问题,我真的不知道我做错了什么,感谢您的任何帮助,谢谢 问题答案: 在 之前和 之后 添加一个空格。