文本处理三剑客

文本处理三剑客

剑客一:grep 作用:“行”过滤
用法: grep “正则表达式” 文件(路径)
grep -E “扩展类正则表达式” 文件(路径)

剑客二:sed
用法: sed 选项 ‘地址定位sed命令’ 文件(路径)
sed 选项 ‘/正则表达式/sed命令’ 文件(路径)
sed 选项 ‘地址定位/正则表达式/sed命令’ 文件(路径)
选项:-n :取消输出原文件,与命令p一起用
-r :使用扩展类正则表达式
-e :多次编辑(每次编辑都要加“-e”)
-i :直接修改原文件
地址定位:
x 指定x行号 sed -n ‘5p’ 1.txt
x,y 指定x到y行号 sed -n ‘1,5p’ 1.txt
/key/ 查询包含关键字的行 sed -n ‘/root/p’ 1.txt
/key1/,/key2/ 指两个关键字之间的行
/key/,x 从含关键字的行到文件的第x行
x,/key/ 从文件的第x行到含关键字的行
x,y! 不包含x到y行
$ 表示最后一行
sed命令
p 打印行,与“-n”一起用
d 删除行
i 行前插入
a 行后插入
c 整行内容替换
w 保存
; 表示分割命令 即 ’命令 ; 命令 ; 命令’ , 相当于“-e”

剑客三:awk
用法:
awk 选项 ‘地址定位{awk命令}’ 文件(路径)
awk 选项 ‘/正则表达式/{awk命令}’ 文件(路径)
awk 选项 ‘地址定位/正则表达式/{awk命令}’ 文件(路径)
注意:awk和sed 一样,正则表达式要用“双斜杠”包住、包好!
选项:-F(大F) 定义"输入字段"的分隔符,默认是空格
-v(小v) 定义变量并赋值 awk -v sum=0
地址定位:NR1 表示第1行
NR
1,NR==5 表示第1行至第5行

{awk命令语句} :
awk命令语句 必须用花括号“{}”包住,包好!!
规定的内置变量,没有为什么,记住就好
$0 表示当前所有记录(内容)
NF 表示当前记录的字段数(列数)
$1 第1列
$2 第2列
$NF 最后一列
$(NF-1) 倒数第二列
$(NF-2) 倒数第三列
print 命令语句里执行打印命令 如 {print $1} ,打印第一列
“” 打印内容字符串 如 {print “…….”}
“\t” 制表符 如 { print “……\t……”}
“\n” 换行符 如 { print “……\n……”}
FS 在{awk命令}里定义“输入字段”的分隔符(默认是空格)
如‘BEGIN{FS=":"}’ , 等同于命令外的“-F:”
OFS 在{awk命令}里定义“输出字段”的分隔符(默认是空格)
如‘BEGIN{OFS="\t"}’, 等同于{print $1”\t”$2}

awk命令里的模式
‘BEGIN{开始处理之前} ;{处理中} ;END{处理结束后}’

格式化输出,即对齐输出:
awk -F: ‘{printf “%-15s %-15s %-15s\n”,$1, 5 , 5, 5,NF}’ 2.txt
备注:printf 指横向输出
%-15s 指间隔15个字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值