sort awk 文本处理命令

发布时间 2023-12-04 15:01:04作者: 代码你敲我不敲

sort:

1.将文件的每一行作为一个单位,相互比较
2.默认升序
3.以字符来进行对比,从首字符开始往后,依次按ASCII码值排序

sort 显示文件内容 (类似cat)

选项:

-u 去掉重复行
-r 升序转为降序(可以跟在-k选项后的数字后面 eg:-k 3r)
-o 将结果写入文件(与重定向的不同之处为:重定向到原文件的时候可能会为空文件,-o不会)
-n sort排序将按照梳子进行排序(因为sort按照字符进行排序,而10 2 相比较 先比较首字符 1<2 所以10<2 由此看来,需要数字排序的时候需要加上-n)
-t 分隔符(后面加上以什么分隔的符号)
-k 指定列数 进行比较

如果不设定End部分,那么就认为End被设定为行尾 : -k start,end
(进阶版本后面可跟多个数字 -k 2,3 (意思为先以2列比较在以3列进行比较))
(高级版本后面可以跟上小数 -k 1.2 (意思为以第一列的第二个字符进行排序))

-f 忽略大小写进行比较
-c 检查是否排好序 输出错的行,返回1

awk:

1.倾向于将一行分成多个‘字段’来处理。
2.数据可以来自标准输入、一个或者多个文件、其他进程的输出
3.awk从第1行到最后一行逐行扫描,并执行匹配的操作
4.awk的默认操作是输出匹配行即打印匹配行到标准输出

简单操作:

awk -F ":" '{print $3}' > sort.txt # -F 指定分隔符 '{print $n}' 表示输出哪一列