Day: July 2, 2018

  • 求两个Linux文本文件的交集、差集、并集

    求两个Linux文本文件的交集、差集、并集

    一、交集 sort a.txt b.txt | uniq -d 二、并集 sort a.txt b.txt | uniq 三、差集 a.txt-b.txt: sort a.txt b.txt b.txt | uniq -u b.txt – a.txt: sort b.txt a.txt a.txt | uniq -u 四、相关的解释 使用sort可以将文件进行排序(sort排序是为了管道交给uniq进行处理,uniq只能处理相邻的行),可以使用sort后面的参数,例如 -n 按照数字格式排序,例如 -i 忽略大小写,例如使用-r 为逆序输出等 uniq为删除文件中重复的行,得到文件中唯一的行,参数-d 表示的是输出出现次数大于1的内容;参数-u表示的是输出出现次数为1的内容;那么对于上述的求交集并集差集的命令做如下的解释: sort a.txt b.txt | uniq -d:将两个文件进行排序,uniq使得两个文件中的内容为唯一的,使用-d输出两个文件中次数大于1的内容,即是得到交集 sort a.txt b.txt | uniq :将两个文件进行排序,uniq使得两个文件中的内容为唯一的,即可得到两个文件的并集 sort a.txt…

  • shell:读取文件的每一行内容并输出

    shell:读取文件的每一行内容并输出

    写法一: —————————————————————————- #!/bin/bash while read line do     echo $line done < file(待读取的文件) —————————————————————————- 写法二: —————————————————————————- #!/bin/bash cat file(待读取的文件) | while read line do     echo $line done —————————————————————————- 写法三: —————————————————————————- for line in `cat file(待读取的文件)` do     echo $line done —————————————————————————- 说明: for逐行读和while逐行读是有区别的,如: $ cat file aaaa bbbb cccc dddd $ cat file |…