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

你可能感兴趣的:(linux 文件操作(sort awk))