排序
sort -t, -k3n 2.txt
-k3n 3代表第几列 n代表按照数字排序
-t<分隔字符> 指定排序时所用的栏位分隔字符。
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
--help 显示帮助。
--version 显示版本信息。
文本操作 awk
awk其实不仅仅是工具软件,还是一种编程语言
基本用法
# 格式
$ awk 动作 文件名
# 示例
$ awk '{print $0}' demo.txt
文件的分割符可以使用-F
来进行分割
变量
-
$ + 数字
表示某个字段 -
NF
表示当前有多少个字段,$NF
表示最后一个字段 -
NR
表示当前处理的第几行 -
FILENAME
:当前文件名
函数
- toupper(): 用于将字符转为大写
- tolower():字符转为小写。
- length():返回字符串长度。
- substr():返回子字符串。
- sin():正弦。
- cos():余弦。
- sqrt():平方根。
- rand():随机数。
条件
awk '条件 动作' 文件名
1. $ awk -F ':' '/usr/ {print $1}' demo.txt
root
daemon
bin
sys
if
$ awk -F ':' '{if ($1 > "m") print $1; else print "---"}' demo.txt
root
---
---
sys
sync