jion 命令用来combine连个文件,前提是这两个文件有共同的key,或者说有共同的域。如果两个文件域按顺序有不同的话,就会忽略不同的域,而只去combine相同顺序下的有共同field的行。
例如: 我现在有两个文件,一个是:employee.txt,另一个是bonux.txt,彼此行记录一一对应〉
[clu@portal.ny1 hack101]$ cat employee.txt
100 Jason Smith
200 John Doe
300 Sanjay Gupta
400 Ashok Sharma
[clu@portal.ny1 hack101]$ cat bonus.txt
100 $5,000
200 $500
300 $3,000
400 $1,250
[clu@portal.ny1 hack101]$ jion employee.txt bonus.txt
-bash: jion: command not found
[clu@portal.ny1 hack101]$ join employee.txt bonus.txt
100 Jason Smith $5,000
200 John Doe $500
300 Sanjay Gupta $3,000
400 Ashok Sharma $1,250
如果bonux.txt文件中间少了一个记录,那么该行记录就不会被combine。
[clu@portal.ny1 hack101]$ cat bonus.txt
100 $5,000
200 $500
400 $1,250
[clu@portal.ny1 hack101]$ join employee.txt bonus.txt
100 Jason Smith $5,000
200 John Doe $500
400 Ashok Sharma $1,250
如果bonus.txt文件中间多了一行记录,虽然该记录无法匹配,但后面的记录可以匹配〉
[clu@portal.ny1 hack101]$ cat bonus.txt
100 $5,000
200 $500
201 $201
300 $oo
400 $1,250
[clu@portal.ny1 hack101]$ join employee.txt bonus.txt
100 Jason Smith $5,000
200 John Doe $500
300 Sanjay Gupta $oo
400 Ashok Sharma $1,250
经过测试得知:只要被修改的记录是按共同域的合理顺序来排序的,那么linux就可以做到正常的排序, 如下:
[clu@portal.ny1 hack101]$ cat bonus.txt
100 $5,000
200 $500
201 $201
202 $333
300 $oo
400 $222
401 $1,250
[clu@portal.ny1 hack101]$ join employee.txt bonus.txt
100 Jason Smith $5,000
200 John Doe $500
300 Sanjay Gupta $oo
400 Ashok Sharma $222
但是如果顺序不合理的话,linux就不会按正确的顺序来匹配〉
例如:
[clu@portal.ny1 hack101]$ cat bonus.txt
100 $5,000
200 $500
301 $201
302 $333
300 $oo
400 $222
401 $1,250
[clu@portal.ny1 hack101]$ join employee.txt bonus.txt
100 Jason Smith $5,000
200 John Doe $500
join: file 2 is not in sorted order
400 Ashok Sharma $222
--EOF--
分享到:
相关推荐
#### Hack 11. Join Command `join`命令用于合并两个已排序的文件。 ```bash join file1 file2 ``` #### Hack 12. Change the Case 使用`tr`命令改变文本中的大小写。 ```bash echo "Hello World" | tr '[:upper:]'...
**Hack 11. Join Command** `join`命令用于连接两个文件中具有共同字段的行。假设文件`file1`和`file2`都有一个共同的字段,可以使用命令`join file1 file2`来连接它们。 **Hack 12. Change the Case** 要改变...
**Hack 20: Join Command** `join` 命令用于合并两个已排序的文件: ```bash join file1 file2 ``` **Hack 21: Change the Case** 使用 `tr` 命令可以轻松转换大小写: ```bash echo "Hello World" | tr '[:upper:]...
- **Hack 11: 显示未来的日期和时间** - 类似地,通过加上正数天数或秒数可以显示未来的日期时间。 - 示例: ```bash date -d "+3 days" ``` #### 第三章:SSH 客户端命令 这一章节介绍了如何使用SSH进行远程...
#### Hack-11 Join命令 `join` 命令用于合并两个已经排序过的文件。这对于处理大量数据并提取共同特征非常有用。例如,`join -t , file1.csv file2.csv` 可以合并两个CSV文件。 #### Hack-12 Tr命令 `tr` 命令用于...
第四章覆盖了Linux系统中一些基础命令的高级用法,例如grep、find、join、xargs、sort、uniq、cut、stat和diff命令。此外,还包括了如何显示用户的总连接时间等高级用法。 第五章探讨了PS1、PS2、PS3、PS4和PROMPT_...
chatserv.zip Server side of an internet chat program<END><br>10 , hlink.zip Is a control that you can use to link your program to a web site.<END><br>11 , Popmail.zip Checks your email!...