Linux基础命令4

38.sed:文件流编辑器  难度:****

不用打开文件,直接通过sed命令就可以修改文件;

查找、替换、添加、删除,支持正则表达式。

流编辑,按行处理数据,每一行就是一条数据。

命令格式:sed  [选项]  ‘指令’ 文件

常用选项:

“-i”:对文件本身进行操作,不加则不会修改文件。

“-i.bak”:修改前对原文件进行备份。

“-n”:输出时只显示sed命令执行之后的结果。

eg:

# sed 指令

# s   替换指令

# p   打印结果

# a   下一行添加

# i    上一行添加

# d   删除查找到的行

# sed 替换标记

# g   全局

## 替换文本内容

sed ‘s/old/new/g’ filename

# 修改原文件

sed -i ‘s/old/new/g’ filename

# 修改并备份

sed -i.bak ‘s/old/new/g’ filename

# 查找内容

sed ‘/cn/p/ filename

# 输出某行,或某几行

sed -n ‘1,2 /root/ p’ /etc/passwd

sed -n ‘4 p’

# 添加

# 第一行下方添加一行新的内容

sed ‘1 a hello’ filename

# 第三行上方添加一行新的内容

sed ‘3 a hello’ filename

# 删除

# 删除找到的行

sed ‘/@/ d’ test.txt

#删除1,2行

sed ‘1,2 d’ test.txt

39.awk:一个伪装成命令的脚本语言  难度:*****

擅长对列操作,适合处理结构化的文件。

命令格式:awk  [选项]  ‘指令’ 文件

·选项:

-F:指定分隔符,/etc/passwd中的分隔符是“:”,csv文件分隔符是“,”,默认是空格或“\t”。

eg:

# $0   表示一整行

# $1   第一列

# $NF  最后一列

NR    是行号

print   打印输出

# 进行条件查询

cat test.txt

id,name,age,sex

1,张三,18,男

2,李四,19,女

3,王五,20,男

# 使用if()实现条件判断,输出满足条件的内容

awk -F"," '{if($4=="女") print $2}' test.txt

awk -F"," '{if($1==2) print $0}' test.txt

awk -F"," '{if($3>18 && NR >1) print $0}' test.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值