hydd的Linux笔记Day27

Day27

sed命令续

sed命令的其他选项

​ a:行下追加

​ i:行上添加

​ c:替换整行

处理多行文本

​ 修改后文本有多行的时候

​ 以换行符\n分隔或者,使用\强制换行

Sed中s替换的高级应用
1)删除文件中每行的第二个、最后一个字符
sed ‘s/.//2;s/.$//’ test 分两个步骤完成,中间用分号
隔开,第一步将每行的第二个任意字符替换成空,第二
步将每行的最后一个任意字符替换成空即可

2)删除文件中所有的数字
sed -i ‘s/[0-9]//g’ test 先找到任意数字,然后都替换成空

3)将文件中每行的第一个、倒数第1个字符互换
echo abc > abc //创建素材
sed -r ‘s/(a)(b)©/\3\2\1/’ abc //替换abc时复制每一个字符,后面替换的内容用\数字粘贴,可以任意调换位置
echo xyz >> abc //追加内容
sed -r ‘s/(a)(b)©/\3\2\1/’ abc //再用之前的方法无法替换第2行
sed -r ‘s/(.)(.)(.)/\3\2\1/’ abc //将具体字符用 . 替代即可将文档中的xyz修改成xyaz时,上述方案失灵
sed -r ‘s/^(.)(.*)(.)KaTeX parse error: Undefined control sequence: \3 at position 2: /\̲3̲\2\1/' abc //…/\3\2\1/’ test //达成需求

4)为文件中每个大写字母添加括号
sed -r ‘s/([A-Z])/(\1)/g’ test //先找到任意大写字母,然后保留,最后替换成带括号的状态

awk命令解析

awk编程语言/数据处理引擎

​ 基于模式匹配检查输入文本,逐行处理并输出

​ 通常用在shell脚本中,获取指定数据

​ 单独用时,可对文本数据做统计

主要用法

​ 格式1:前置命令 | awk 【选项】 ‘【条件】{指令}’

​ 格式2: awk 【选项】 ‘【条件】{指令}’ 文件 ……

​ 选项:-F: 指定分隔符,可省略(默认空格或Tab)

​ {print}:输出,必须在{}里面使用

awk内置变量

​ 有特殊含义直接使用

用途
FS保存或设置字段分隔符
$n指定分割的第n个字段
$0当前读入的整行文本内容
NF记录当前处理行的字段个数(列数)
NR记录当前已经读入行的数量(行数)

awk的任务处理时机

​ 在所有行前处理,BEGIN{}

​ 读入第一行文本之前执行

​ 一般用来初始化操作

​ 逐行处理{}

​ 逐行读入文本执行相应的处理

​ 是最常见的编辑指令块

​ 在所有行后处理,END{}

​ 处理完最后一行文本后执行

​ 一般用来处理输出处理结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值