三剑客命令

本文介绍了sed和awk命令在Linux系统中的应用,详细讲解了如何使用sed进行文件编辑,包括取消默认输出、真实编辑、插入、附加、删除和替换等操作。同时,展示了awk命令用于数据处理的能力,如按行查找、提取特定列及内容。通过实例演示了这两个工具在日常系统管理和脚本编写中的实用性。
摘要由CSDN通过智能技术生成

sed 命令概述说明
-n 取消默认输出
-r 识别扩展正则
-i 真实编辑文件
-e 识别sed 命令多个操作指令
p print 输出信息
i insert 插入信息,在指定信息前面插入新的信息
a append 附加信息,在指定信息后面附加新的信息
d delete 删除指定信息
s substitute 替换信息s##g
字符流编辑工具=按照每行中字符进行处理操作
擅长对行进行操作处理
擅长将文件信息进行修改调整/删除
sh change_network_ip.sh
vim change_network_ip.sh
#!/bin/bash
#01. edior network ip info
sed -i “s#10.0.0.202#10.0.0.200#g” /etc/sysconfig/network-sc
ripts/ifcfg-eth0 &&
#02. restart network server
systemctl restart network &&
#03. 获取主机地址信息
echo “服务器修改后IP地址: $(hostname -I )” >> /tmp/jackie.txt
sed -n ‘/jackie/p’ person.txt
sed -n ‘/jackie/,/Alex/p’ person.txt
文件jackie行到Alex行
sed -n ‘/jackie/p;/Alex/p’ person.txt
文件单行显示 sed -n ‘3p’ person.txt
文件显示多行信息
sed -n ‘1,3p’ person.txt
只显示1行和3行信息
sed -n ‘1p;3p’ person.txt在文件
在文件第一行添加信息
sed ‘1i100,jackie,UFO’ person. txt
在第三行后面添加jackie. txt
sed ‘3ajackie. txt’ person.txt
在第二行前面添加jackie. txt
sed ‘2ijackie. txt’ person. txt
在有jackie行的前面添加my 后面添加olddog信息
set -e ‘/my/ioldgirl’ -e ’ /my/aolddog’ jackie__test.txt
真实修改文件在文件中插入第三行信息
sed -i ‘3ijackie. txt’ jackie_test. txt
替换一整行内容
sed -i ‘3cjackie. txt’ jackie_test. txt

添加多行信息
sed ‘KaTeX parse error: Undefined control sequence: \n at position 5: a100\̲n̲101\nnetwork-sy…axxx\nxxx\nxxxx’ jackiezhu. txt
sed -i ‘(n行)ixxxx’ jackie. txt
添加n行先备份文件
sed -i.bak ‘(n行)ixxxx’ jackie. txt
sed 删除单行信息
删除文件中第三行信息
sed ‘3d’ person. txt
删除多行文件
sed ‘10,13d’ person. txt
删除文件中第二行到第六行内容
sed ‘3d;6d’ jackie. txt
不显示空行
sed ‘/^KaTeX parse error: Expected group after '^' at position 31: …xt sed -n '/^̲/!d’ jackie. txt
删除空行
sed -i ‘/^$/d jackie. txt
sed命令修改信息的方法
sed ‘s#原有内容#修改后内容#g’ 文件信息
sed -i ‘s/#jackie.txt/#jackiezhu/g’ jackie_test.txt
前面有注释# 换掉#号 ‘#’=’/’
取出ip地址
ip a s eth0|sed -n ‘3p’|sed -r ‘s#^.net (.)#\1#g’|sed -r ‘s#(.)/24.#\1#g’
ip a s eth0|sed -rn '3s#^.net(.)/24.#\1#gp’
n与i不要结合使用
文件名批量从命名
ls jackie
.txt|sed -r 's#(.)txt#mv & \1jpg#g’|bash
rename .txt .jpg jackie
.txt
awk
ls -l which awk
NR 按照行找
awk ‘NR ==2’ awk_test.txt
查找第二行,第四行
awk ‘NR ==2’ awk_test.txt; awk ‘NR ==4’ awk_test.txt
查找字符
awk ‘/ley/’ awk_test.txt
$1= 第一列 $3= 第三列 $NF =倒数第一列
-F 自定义以什么为分割符号
awk ‘/ley/{print $1,$3,$4}’ awk_test.txt
查找最后一行的第一个内容
awk ‘/ley/{print $NF}’ awk_test.txt|awk {print $1} ==
awk ‘/ley/{print $5}’ awk_test.txt|awk ‘{print $1}’
awk -F “[:]” ‘/^ley/{print $1}’ awk_test.txt
取倒数第二行信息
awk -F “[:]+” ‘/^ley/{print $(NF-1)}’ awk_test.txt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值