【大数据】|大数据基础---------正则表达式及sed命令

正则表达式

在这里插入图片描述

sed

流式编辑器
非交互,基于模式匹配过滤及修改文本
语法格式
sed [选项] ‘编辑指令’ 文件名

选项

  • -n:屏蔽默认输出
  • -i:直接修改文件内容
  • -r:日用扩展正则

编辑指令:条件+指令
条件:
行号
/正则/

指令:
p:输出(print)

打印第一行

sed -n '1p' passwd

打印1~4行
sed -n '1,4p' passwd

打印第三行,第五行
sed -n '3p,5p' passwd

打印第三行之后的十行
sed -n '3,+10p' passwd

打印奇数行步长
sed -n '1~2p' passwd   //1奇数  2偶数

正则

包含root的行
grep root passwd
sed -n '/root/p' passwd

以root开头的行
sed -n '/^root/p' passwd

以bash结尾的行
sed -n '/bash$/p' passwd

删除指令:d
替换指令:s

's/old/new'  替换第一个
's/old/new/'  替换第三个
's/old/new/g'  替换所有
/分隔符也可以用#、¥ 

输出行数:
sed ‘$=’ passwd

删除最后一行
sed -n ‘$d’ passwd

文本行操作:
i:行前添加文本
a:行后添加文本
c:替换指定行

修改主机名:

vim modify_hostname.sh

#!/bin/bash
//hostname liu.com
sed -i '1c   liu.com'  /etc/hostname   //1c是指令

hosts文件
本地域名解析文件
sed -l ‘1a 127.0.0.1 tedu.cn’ /etc/hosts

用户管理
命令:useradd /groupadd /userdel /groupdel
文件:
etc/passwd //用户详细信息
root❌0:0:root:/root:/bin/bash
以#作为分隔符

  1. 用户名
  2. 密码占位符
  3. UID
  4. GID
  5. 描述信息
  6. 家目录
  7. 登陆shell -s

/bin/bash :默认登陆shell,可以作为登陆用户
/sbin/nologin:非登陆shell
etc/shadow //用户的密码文件

列出bash结尾的行并存到变量中

  1. 根据此变量,for循环进行处理–以:为分分隔符从右王座最远删除
  2. 根据用户名列出对应的密码文件的行并存到变量中
  3. 根据此变量,for循环进行出路,掐头去尾获得密码信息
  4. 输出用户名–>密码信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值