文本操作---awk、sed、grep

awk

用于: 取列

awk -F ' ' '{print $1}' 等同于 awk '{print $1}' -----默认以空白字符分割后,打印第一列
awk -F '#' '{print $1,$2}' ----以#字符分割后,打印第一列,第二列
awk -F '#' '{NF==5 print $1,S2}' ------#字符分割后,如果行的分段数量为5的话,进行打印操作,打印第一列

其中:
$0 代表整行,$1 代表第 1 段,$2 代表第 2 段,以此类推,$NF 代表最后一个字段,多个字段直接用逗号隔开
-F : 通过 -F 选项来执行分隔符
NF:分隔后的字段数量

sed

用于: 取行,一次处理一行内容

sed [options] 'script' inputfile

常用options:
-n:不输出模式空间内容到屏幕,即不自动打印
-i:直接编辑文件
-e:多点编辑
-f: /PATH/SCRIPT_FILE:从指定文件中读取编辑

script 地址定界:
不给地址:对全文进行处理
单地址:#:指定的行; $:最后一行
/pattern/:被此处模式所能够匹配到的每一行

编辑命令:
s///:查找替换,支持使用其它分隔符,s@@@,s###
(替换标记:g : 行内全局替换   p : 显示替换成功的行    w :/PATH/TO/SOMEFILE 将替换成功的行保存至文件中)
d 删除模式空间匹配的行,并立即启用下一轮循环
p 显示符合条件的行,追加到默认输出之后
a [\]text1 在指定行后面追加文本,支持使用\n实现多行追加
i [\]text 在行前面插入文本
c [\]text 替换行为单行或多行文本
w /path/somefile 保存模式匹配的行至指定文件
r /path/somefile 读取指定文件的文本至模式空间中匹配到的行后
= 为模式空间中的行打印行号
! 模式空间中匹配行取反处理


-----------例子----------------

sed -n 2p test  ------打印第 2 行内容
sed -n 2,5p test  --------打印第 2--5 行内容
sed -i 's/a/v/g' test  -------将文件中的 a 全部替换为 v 「sed替换格式是:sed -i ‘s/要替换的内容/替换成的内容/g' 文件名」

grep

用于: 过滤文本

grep -i 'b' file 在file文件 test 中查找字符 b,忽略字母大小写
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值