一、cut
基本定义:cut的工作就是“剪”,具体来说就是在文件中负责剪切数据用的。
cut是以每一行为一个处理对象的,cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。
1、基本用法
cut [选项参数] filename
2.选项参数说明
选项参数 | 功能 |
---|---|
-f | 指定域(fields),提取第几列 |
-d | 指定分隔符,对列进行分割 |
-c | 以字符 (characters) 为单位取出固定字符区间 |
-b | 以字节(bytes) 为单位取出固定字符区间 |
注意:只有当操作域时才可以指定输入分界符。
3、实例详解
3.1 切割出数字17
数据准备
查找出包含数字17的那一行,指定空格为分隔符,指定取第三列的数据
grep 17 |cut -d \" \" -f 3
3.2 切割并输出第五个冒号(:)后面的完整路径
数据准备
指定冒号为分隔符,取第五个冒号后的第六列数据直到最后
cat cut1.txt |cut -d: -f 6-
3.3 查询并输出指定分隔符分割后的多列数据
cat cut1.txt |cut -d: -f 3,4,5
3.4 按字符取出前四列
cat cut1.txt |cut -b \"1-4\"
3.5 按字节取前八列
cat cut1.txt |cut -b \"-8\"
二、sed
基本定义:sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
1、基本用法
sed [选项参数] ‘command’ filename
2. 选项参数说明
选项参数 | 功能 |
---|---|
-e | 直接在指令列模式上进行sed的动作编辑。 |
-i | 直接编辑文件 |
3、命令功能描述
命令 | 功能描述 |
---|---|
a | 新增,a的后面可以接字串,在下一行出现 |
d | 删除 |
s | 查找并替换 |