cut命令
从一个文本文件或者文本流从提取文本列
参数
-d: 用什么字符来分隔文本,
-f: 取分隔后的第几列,支持格式 : n; n1,n2; n1-n2; n1-;
示例
1 | text='/sbin:/usr/sbin:/usr/local/bin:/usr/x11R6/bin' |
sort 命令
对文件的行进行排序,并将结果写到标准输出,如果指定多个文件,那么sort命令将这些文件链接起来,并当做一个文件进行排序
参数
-f : 忽略大小写的差异
-b : 忽略最见面的空格符部分
-M : 以月份的名字来排序
-n : 使用纯数字来进行排序,默认是以文字形态来排序的
-r : 反向排序
-u : 相同的数据中心,仅出现一行代表
-t :分隔符,默认是用tab键来分隔
-k : 以哪个区间来进行排序
示例
1 | cat /test.txt | sort -t ":" -k 3rn |
wc 命令
统计文本的行数和字符数量等
参数
-l :统计行数
-w : 统计单词水浪
-m : 统计字节数量
sed 命令
对文本的内容进行替换, 删除,更新等操作
命令基本格式
1 | sed [选项] [脚本命令] 文件名 |
命令参数
-e : 该选项会将其后跟的脚本命令添加到已有的命令中。
-f :该选项会将其后文件中的脚本命令添加到已有的命令中
-n : 默认情况下,sed 会在所有的脚本指定执行完毕后,会自动输出处理后的内容,而该选项会屏蔽启动输出,需使用 print 命令来完成输出。
-i : 此选项会直接修改源文件,要慎用。
脚本命令
替换脚本命令s
命令格式
1 | [address]s/pattern/replacement/flags |
常见flag
n | 1~512 之间的数字,表示指定要替换的字符串出现第几次时才进行替换,例如,一行中有 3 个 A,但用户只想替换第二个 A,这是就用到这个标记; |
---|---|
g | 对数据中所有匹配到的内容进行替换,如果没有 g,则只会在第一次匹配成功时做替换操作。例如,一行数据中有 3 个 A,则只会替换第一个 A; |
p | 会打印与替换命令中指定的模式匹配的行。此标记通常与 -n 选项一起使用。 |
w file | 将缓冲区中的内容写到指定的 file 文件中; |
& | 用正则表达式匹配的内容进行替换; |
\n | 匹配第 n 个子串,该子串之前在 pattern 中用 () 指定。 |
\ | 转义(转义替换部分包含:&、\ 等)。 |
使用示例
1 | sed 's/test/trial/2' data4.txt |
删除脚本命令
命令格式
1 | [address]d |
使用示例
1 | sed '2,3d' data6.txt # 删除第2、3行的数据 |
插入数据行命令
命令格式
1 | [address]a(或 i)\新文本内容 |
备注: a 命令表示在指定行的后面附加一行,i 命令表示在指定行的前面插入一行
使用示例
1 | sed '3a\ |
替换脚本命令c
命令格式
1 | [address]c\用于替换的新文本 |
使用示例
1 | sed '3c\ |
转换脚本命令
命令格式
1 | [address]y/inchars/outchars/ |
使用示例
1 | sed 'y/123/789/' data8.txt # 将1=>7, 2=>8, 3=>9 |