Linux (一) 基础复习

Linux 小三剑客 wc sort uniq

wc 统计

sort 排序

uniq 去重

Linux 三剑客 grep awk sed

grep 查询数据

类比SQL select * from table where field like “%a”

grep 常用参数
  1. -v 匹配不被pattern匹配的行
  2. -i 忽略大小写
  3. -n 显示匹配行号
  4. -c 统计匹配行数
  5. -o 仅显示匹配到的字符串
  6. -e 相当于egrep 多条件, 404|500, 200&201
grep 实战
  • 查找文件内包含404 的行数
 	less nginx.log | grep 404 -n
  • 查找文件内不包含404的行数
 	less nginx.log | grep 404 -nv
  • 查找以s 开头的行
	less nginx.log | grep '^n' -
  • 查找以n 结尾的行
 	less nginx.log | grep 'n$' -

sed 数据更新

sed 是流编辑器,一次处理一行内容
sed -e 脚本
sed -f 脚本文件
类比SQL update fieldA from table where field = “abc”
在这里插入图片描述

sed 常用动作
  • a 增加 sed -e ‘a 4 newline’
  • c 取代
  • d 删除
  • i 插入之前
  • p 打印
  • s 替代, sed -e ‘s/old/new/g’
  • g 全局替换
sed 实战

man sed || sed -h

  • 在第四行后添加新的行 newline
    sed -e ‘4 a newline’ practice.txt
  • 在第四行之前添加新的行 newline
    sed -e ‘4 i newline’ practice.txt
  • 修改所有root 成curry
    sed -ie ‘s/root/curry/g’ practice.txt

awk 数据切割

把文件逐行读入,以默认空格为分隔符将每行切片,切开的部分再进行后续处理。

在这里插入图片描述

类比SQL select fieldA from table

awk 常用参数
  1. -F 指定分隔符
  2. {} 括号内的是行为,比如awk ‘{print $1}’ 打印第一列,
  3. {} 括号外的是正则匹配,比如
  4. $0 $0 为全部行
  5. RS 控制記錄分隔符
  6. OFS 輸出與分隔符
  7. ORS 输出记录分隔符
awk 实战
  • 打印/etc/password 下所有包含root的行,并且对应的shell (第七列)
    awk -F: ‘/root/{print $7}’ /etc/password
[root@curry-qa-01 etc]# awk -F: '/root/{print $0}' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
  • 打印第二行
 awk -F: 'NR==2{print $0}' /etc/passwd
  • 使用BEGIN加入指定列名
awk -F : 'BEGIN{print "BEGIN BEGIN"} {print $1,$2}' /etc/passwd
BEGIN BEGIN
root x
bin x
daemon x
adm x
lp x
sync x
shutdown x
halt x
mail x
operator x
games x
ftp x
nobody x
systemd-network x
dbus x
polkitd x
sshd x
postfix x
chrony x
nscd x
tcpdump x
  • 以 | 分割字符串为行
echo "111 222|333 444|555 666" | awk 'BEGIN{RS="|"} {print $0}'
111 222
333 444
555 666
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值