【shell脚本】shell脚本之sed高级应用、awk基本用法(shell脚本基础学习五)_shell awk某行替换为列并补齐

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

-n -r -i p d s

cat nssw.txt

Hello th6e World
ni ha7o ma beijing

删除文件中每行的第二个、最后一个字符
sed ‘s/.//2;s/.$//’ u

将文件中每行的第一个、倒数第1个字符互换
( ) 保留(相当于复制) \1 \2 相当于粘贴
sed -r ‘s/^(.)(.*)(.)$/\3\2\1/’ u

删除文件中所有的数字
sed ‘s/[0-9]//g’ u

为文件中每个大写字母添加括号
sed -r ‘s/([A-Z])/(\1)/g’ u

a在行下追加 i在行上添加 c替换整行

sed ‘i XXXX’ a 所有行上添加XXXX
sed ‘1i XXXX’ a 第一行上添加XXXX
sed ‘1,2i XXXX’ a 1~2行上添加
sed ‘1a XXXX’ a 第一行下追加
sed ‘c XXXX’ a 所有行替换为XXXX
sed ‘1c XXXX’ a 第一行替换
sed ‘/abc/c XXXX’ a 有abc的行替换


编写脚本,找出使用bash的用户,按照 名字 --> 密码 的格式输出:
#!/bin/bash
u=sed -n '/bash$/s/:.*//p' /etc/passwd 找到用bash的用户,并且把名字都存在变量u中
for i in $u 将变量u交给for循环处理
do
    x=grep $i: /etc/shadow 第一次循环,变量i是第一个用户
    a1=KaTeX parse error: Expected '}', got '#' at position 3: {x#̲*:}        掐头  …{a1%%😗} 去尾
    echo “$i --> $a2” 输出
done


“Open Source” is a good mechanism to develop programs.
apple is my favorite food.
Football game is not use feet only.
this dress doesn’t fit me.
However, this dress is about $ 3183 dollars.
GNU is free air not free beer.
Her hair is very beauty.
I can’t finish the test.
Oh! The soup taste good.
motorcycle is cheap than car.
This window is clear.
the symbol ‘*’ is represented as start.
Oh!    My god!
The gd software is a library for drafting programs.
You are the best is mean you are the no. 1.
The world is the same with “glad”.
I like dog.
google is the best tools for search keyword.
goooooogle yes!
go! go! Let’s go.

I am VBird


========================================
正则
grep 模糊搜索
sed 可以修改文档
awk 精确搜索

awk使用方式:
1 , awk 选项 (条件)指令 被处理的文件
2 , 前置命令 | awk 选项 (条件)指令
选项:
-F 定义分隔符
指令
print 输出
内置变量:
列 $0 $1 $2 $3 … NF列 NR行

awk ‘{print}’ u
awk ‘{print $2}’ u
awk ‘{print $0}’ u
awk ‘{print $1}’ u
awk ‘{print $1 $3}’ u
awk ‘{print $1,$3}’ u
awk ‘{print $0,$3}’ u
awk ‘/beijing/{print}’ u

cat user 准备素材
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
awk -F: ‘{print $6}’ user 修改分隔符为冒号, 显示第6列
/root
/bin
awk -F: ‘/root/{print $6}’ user 配合正则匹配有root的行,显示第6列
/root
awk -F/ ‘/root/{print $3}’ user 修改分隔符,显示第3列
bin
awk -F[😕] ‘/root/{print $9}’ user 使用冒号或者斜杠做分隔符,显示第9列
awk -F: ‘{print $1"的解释器是"$7}’ user 输出常量,需要使用引号
awk -F: ‘{print $1 abc $7}’ user 不加引号,系统会识别为变量,如果变量没有定义,则输出的值为空
awk -F: ‘{print $1 “abc” $7}’ user 加引号,变常量输出
awk -F: ‘{print NR,NF}’ user 输出行号和列号

ifconfig eth0 |awk ‘/TX p/{print “当前主机eth0网卡的发送流量是”$5"字节"}’
ifconfig eth0 |awk ‘/RX p/{print “当前主机eth0网卡的接收流量是”$5"字节"}’
df -h | awk ‘/vda1/{print “主机根分区剩余空间是”$4}’

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

需要这份系统化的资料的朋友,可以戳这里获取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值