文章目录
- 常用命令
- diff
- patch
- cut
- sort
- uniq
- test
常用命令
数据分析=对字符的处理
diff
命令解读
用来比较两个文件或目录的不同
diff file1 file2
diff direcory1 directory
diff 在比较文件过程中结果读取方式
[num1 , num2][a|c|d][num3,num4]
num1,num2 表示在第一个文件中的行数
num3,num4 表示在第二个文件中的行数
a 表示添加 ----add
c 表示更改 ----change
d 表示删除 ----delete
< 表示第一个文件中的内容
> 表示第二个文件中的内容
eg:
2,4c2,4 表示改变第一个文件中的第二行和第四行才能匹配第二个文件中 的第二行和第四行
diff 中常用的参数
-b ##不检查空格字符的不同
-B ##不检查空白行
-c ##显示全部内文,并标出不同之处
-i ##不检查大小写的不同
-p ##若比较的文件为C语言的程序码文件时,显示差异所在的函数名称
-q ##仅显示有无差异,不显示详细的信息
-r ##比较子目录中的文件
-u ##以合并的方式来显示文件内容的不同
patch
用于文件不同文件打布丁
patch file.old file.path ##将旧文件更新
cut
多用与字符截取
cut -d 指定分隔符
cut -f 1,7|1-7 指定截取的列
cut -c 1,4|1-4 指定截取的字符位置
sort
多用于字符排序
sort -n ##纯数字排序
sort -r ##倒序
sort -u ##去掉重复数字
sort -o ##输出到指定文件中
sort -t ##指定分隔符
sort -k ##指定要排序的列
uniq
对重复字符做相应的处理
uniq -u ##显示唯一的行
uniq -d ##显示重复的行
uniq -c ##每行显示一次并统计重复次数
test
对比
test 命令和 [] 等同
test "$A" == "$B" 等同 [ "$A" == "$B" ]
[ "$A" = "$B" ] ##判断相等
[ "$A" != "$B" ] ##不等
[ "$A" -eq "$B" ] ##相等
[ "$A" -ne "$B" ] ##不等
[ "$A" -le "$B" ] ##小于等于
[ "$A" -lt "$B" ] ##小于
[ "$A" -ge "$B" ] ##大于等于
[ "$A" -gt "$B" ] ##大于
[ "$A" -ne "$B" -a "$A" -gt "$B" ] ##and
[ "$A" -ne "$B" -o "$A" -gt "$B" ] ##or
[ -z "$A" ] ##判断是否为空
[ -n "$A" ] ##和条件相反为真,非空为真
[ "file1" -ef "file2" ] ##判断file1 与file2 是否为同一文件,主要意义在判定,两个文件是否均指向同一个inode(硬链接)
[ "file1" -nt "file2" ] ##判断file1 是否比file2新
[ "file1" -ot "file2" ] ##判断file1 是否比file2旧
[ -e "file" ] ##判断该“文件名”是否存在
[ -f "file" ] ##判断该“文件名”是否是普通文件
[ -L "file" ] ##判断该“文件名”是否是软连接
[ -S "file" ] ##判断该“文件名”是否是套接字
[ -b "file" ] ##判断该“文件名”是否是块设备
[ -d "file" ] ##判断该“文件名”是否是目录
[ -c "file" ] ##判断该“文件名”是否是字符设备
&& ##是,用来执行条件成立后执行的命令
|| ##非,用来执行条件不成立后执行的命令
tr ##大小写转换