一.sort 命令
对行内容进行升序排序,以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
语法格式:
sort [选项] 参数
cat file | sort 选项
下图显示:根据数字倒叙排列 testfile文件内容
常用选项
-n:按照数字进行排序
-r:反向排序
-u:表示相同的数据显示一行 排序后去重
下图显示 谁知分隔符为冒号 根据第三个字段数字从小到大排列 /etc/passwd 文件内容
-t:指定字段分隔符 默认是tab
-k:指定分割字段
案例:
查找 查找/var/log 文件然后进行排序 查看最后五行的
二.uniq 命令 对连续的重复行进行去重
-c:对连续的重复行进行去重,并统计重复次数
-d 仅显示有重复的行的内容
-u 仅显示不连续重复行的内容
三.tr 命令
: 对输入的内容进行替换
XXX | tr 选项 '参数1' ['参数2'] 下图是tr的默认
-c 仅保留 参数1 的字符,其它字符(包括\n)都替换成 参数2 的字符
-s 根据 参数1 进行去重,如果有 参数2 则再用 参数2 的字符替换 参数1 的字符
-d 删除所有 参数1 的字符
删除空行 cat 文件 | grep -v "^$"
cat 文件 | tr -s "\n"
案例:对数组排序 echo ${数组名[@]} | tr ' ' '\n' | sort -rn | tr '\n' ' '
四.cut 对行内容进行字段截取
XXX | cut 选项 参数
-d '分隔符' -f 字段序号 根据 -d 指定的分隔符的截取显示 -f 指定的字段
--output-delimiter '分隔符' 指定输出的字段分隔符
--complement 取反,不显示 -f 指定的字段
字符串分片 echo ${变量:下标:长度} #下标起始从0开始
echo $变量 | cut -b 起始下标-终止下标 #下标起始从1开始
expr substr $变量 起始下标 长度 #下标起始从1开始
五.split 按照格式拆分文件
-l 根据行数分割文件
-b 根据大小分割文件
-d 输出的目标文件后缀用数字替代
案例1:
如何将一个400行文件分割为4个100行的文件 split -l 100 -d 原文件 目标文件名前缀
案例2:
如何将一个10G文件分割为10个1G的文件
split -b 1G -d 原文件 目标文件名前缀
六. paste 将多个文件按照列进行合并
格式:paste 选项 文件1 文件2 ...
-d '分隔符' 指定输出的字段分隔符
-s 将每个列横向输出
七.正则表达式
:正则表达式---通常用于判断语句中,用来检查某一字符串是否满足某一格式
通配符 作用范围 匹配文件/目录名
正则表达式 作用范围 匹配文件内容