《快学BigData》--Linux sed 详解(11)
Linux sed 详解
1-1)、参数详解
-n : 读取下一行到模式空间,安静的模式
-N : 追加下一行到模式空间
:a : 定义标签a
ba:返回标签a
ta :如果执行成功则返回标签a
Ta:如果执行不成功则返回a
-e : 直接在命令列模式上进行sed的动作操作
-f : 直接将sed的动作写在一个文件内
-i:直接修改读取文件中的内容,而不是输出到终端
p :列印,亦即将某个选择的数据印出
a :新增
c :取代
d :删除
i :插入
s :取代
1-2)、实例详解
准备数据
复制一份passwd数据到桌面
A)、复制数据的前一行
$ nl passwd |sed '1p'
1root:x:0:0:root:/root:/bin/bash
1root:x:0:0:root:/root:/bin/bash
2daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
××××××××××××××××××××××××
B)、删除制定的行
$ nl passwd |sed '1d'
2daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
3bin:x:2:2:bin:/bin:/usr/sbin/nologin
4sys:x:3:3:sys:/dev:/usr/sbin/nologin
××××××××××××××××××××××××
C)、显示第一行到第二行
$ nl passwd |sed -n '1,2p'
1root:x:0:0:root:/root:/bin/bash
2daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
只显示第三行
$ nl passwd | sed -n '3p'
3bin:x:2:2:bin:/bin:/usr/sbin/nologin
D)、在第二行后面添加一行信息
$ nl passwd |sed '2a add print .....'
1root:x:0:0:root:/root:/bin/bash
2daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
add print .....
3bin:x:2:2:bin:/bin:/usr/sbin/nologin
E)、删除地2行到第五行,病替换成相对应的字符
$ nl passwd |sed '2,5c add string .....'
1root:x:0:0:root:/root:/bin/bash
add string .....
6games:x:5:60:games:/usr/games:/usr/sbin/nologin
F)、搜索信息做操作
所有出来并显示
$ nl passwd |sed -n '/daemon/p'
2daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
29avahi-autoipd:x:110:115:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
30usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/bin/false
搜索出来直接删除
$ nl passwd |sed -n '/daemon/d'
搜索出来病执行替换,q只结束符
$ nl passwd |sed '/daemon/{s/daemon/blueshell/;q}'
1root:x:0:0:root:/root:/bin/bash
2blueshell:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
G)、获取本地的IP
$ ifconfig wlp3s0|sed -n '/netmask/p' | awk -F" " '{print $2}'
192.168.199.137
H)、把文件转换为unix编码
$ sudo sed -n 's/^M//' passwd
相关文章
- linux load average,Linux Load Average详解
- 操作Linux操作实现中控考勤机全套管理(中控考勤机linux)
- 探寻Linux系统中运行的进程(查看linux运行进程)
- 使用Linux连接工具实现连接(连接linux的工具)
- Linux查看路由信息的方法。(linux查路由)
- Linux中如何快速搜索文件(在linux中搜索文件)
- 操作Linux:如何使用U盘挂载(U盘linux挂载)
- 版极点五笔Linux版:驾驭操作系统之精华(极点五笔linux)
- 使用Linux无光驱安装详解(linux无光驱安装)
- Linux .so文件详解:如何安装及使用(linux.so)
- Linux启动配置串口详解(linux启动配置串口)
- 深入了解Linux系统调用:头文件详解(linux系统调用头文件)
- 【Linux网络命令配置详解】(linux配置网络命令)
- Linux开源项目:一次详尽深入探究(linux开源项目详解)
- Linux进程栈大小详解与调整方法(linux进程栈大小)
- 掌握Linux,拥有未来:详解Linux路线图(linux路线图)
- Linux 库文件存放位置详解,简单粗暴解决你的疑惑(linux库文件在哪)
- Linux系统管理员必备:详解指南(linux系统管理员指南)
- Linux串口驱动编写详解(linux串口驱动编写)
- Linux系统权限设置详解(linux的权限设置方法)
- Linux ln 命令解析:创建符号链接(linux ln 作用)
- Linux如何快速打开文件(linux怎样打开文件)