linux 文件操作(sort awk)

排序

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 动作 文件名

# 示例
$ awk '{print $0}' demo.txt


文件的分割符可以使用-F来进行分割

变量

  1. $ + 数字表示某个字段
  2. NF表示当前有多少个字段,$NF表示最后一个字段
  3. NR表示当前处理的第几行
  4. FILENAME:当前文件名

函数

  1. toupper(): 用于将字符转为大写
  2. tolower():字符转为小写。
  3. length():返回字符串长度。
  4. substr():返回子字符串。
  5. sin():正弦。
  6. cos():余弦。
  7. sqrt():平方根。
  8. 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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • '#Gun awk的相关用法 awk的工作原理 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分,将每片直...
    魏镇坪阅读 39,842评论 2 37
  • 参考AWK是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫AWK是因为其取了三位创始人 Alfred ...
    生信师姐阅读 2,880评论 0 3
  • F(指定字段分隔符) 默认使用空格作为分隔符。 FS(字段分隔符) 默认是空格和制表符。1,$2 表示第一个字段,...
    _大叔_阅读 1,787评论 0 1
  • awk 是一个强大的文本分析工具。它不仅是Linux[http://lib.csdn.net/base/linux...
    金融测试民工阅读 6,205评论 0 0
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 10,997评论 0 5