校招题。
cat命令
cat 命令用于连接文件并打印到标准输出设备上。
语法
cat [-AbeEnstTuv] [--help] [--version] fileName
参数
-n 或 –number:由 1 开始对所有输出的行数编号。
-T 或 –show-tabs: 将 TAB 字符显示为 ^I。
-v 或 –show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 –show-ends : 在每行结束处显示 $。
-A, –show-all:等价于 -vET。
uniq命令
语法
uniq [-cdu][--help][--version][输入文件][输出文件]
参数:
-c或–count 在每列旁边显示该行重复出现的次数。
-d或–repeated 仅显示重复出现的行列。
-u或–unique 仅显示出一次的行列。
[输入文件] 指定已排序好的文本文件。
[输出文件] 指定输出的文件。
sort命令
语法
sort [-bcdfimMnr][-o<输出文件>][--help][--verison][文件]
参数
-b 忽略每行前面开始出的空格字符。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
思路
- 清除file1 file2重复行
- 将file1追加到file2
- 找出file2中共有行将其追加写入file1
- 找出file1中单次出现的行
Tips:
uniq要求输入文件是指定已排序好的文本文件。
sort file1 | uniq > file1
sort file2 | uniq > file2
cat file1 >> file2
sort file2 | uniq -d >> file1
cat file1 | sort | uniq -u