shell命令:sed命令
用法: sed [选项]... {脚本(如果没有其他脚本)} [输入文件]...
-n, --quiet, --silent
取消自动打印模式空间
-e 脚本, --expression=脚本
添加“脚本”到程序的运行列表
-f 脚本文件, --file=脚本文件
添加“脚本文件”到程序的运行列表
--follow-symlinks
直接修改文件时跟随软链接
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
-c, --copy
use copy instead of rename when shuffling files in -i mode
-b, --binary
does nothing; for compatibility with WIN32/CYGWIN/MSDOS/EMX (
open files in binary mode (CR+LFs are not treated specially))
-l N, --line-length=N
指定“l”命令的换行期望长度
--posix
关闭所有 GNU 扩展
-r, --regexp-extended
在脚本中使用扩展正则表达式
-s, --separate
将输入文件视为各个独立的文件而不是一个长的连续输入
-u, --unbuffered
从输入文件读取最少的数据,更频繁的刷新输出
-z, --null-data
separate lines by NUL characters
--help
display this help and exit
--version
output version information and exit
如果没有 -e, --expression, -f 或 --file 选项,那么第一个非选项参数被视为
sed脚本。其他非选项参数被视为输入文件,如果没有输入文件,那么程序将从标准
输入读取数据。
sed
-n 只显示编辑的行
-e 可接受多次编辑
-i 能够修改文件
p 打印输出
i 插入
a 追加
s 替换
[root@emr-header-2 log]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 123721700 26721900 90692068 23% /
devtmpfs 65922696 0 65922696 0% /dev
tmpfs 65932204 92 65932112 1% /dev/shm
tmpfs 65932204 932 65931272 1% /run
tmpfs 65932204 0 65932204 0% /sys/fs/cgroup
/dev/vdb 264091716 14602820 249472512 6% /mnt/disk1
tmpfs 13186444 0 13186444 0% /run/user/1001
tmpfs 13186444 0 13186444 0% /run/user/0
tmpfs 13186444 0 13186444 0% /run/user/1011
tmpfs 13186444 0 13186444 0% /run/user/1000
tmpfs 13186444 0 13186444 0% /run/user/1006
[root@emr-header-2 log]# df | sed '1,3p' #显示1、2、3行,默认原信息也会显示,所以1、2、3行会重复显示
文件系统 1K-块 已用 可用 已用% 挂载点
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 123721700 26721900 90692068 23% /
/dev/vda1 123721700 26721900 90692068 23% /
devtmpfs 65922696 0 65922696 0% /dev
devtmpfs 65922696 0 65922696 0% /dev
tmpfs 65932204 92 65932112 1% /dev/shm
tmpfs 65932204 932 65931272 1% /run
tmpfs 65932204 0 65932204 0% /sys/fs/cgroup
/dev/vdb 264091716 14602820 249472512 6% /mnt/disk1
tmpfs 13186444 0 13186444 0% /run/user/1001
tmpfs 13186444 0 13186444 0% /run/user/0
tmpfs 13186444 0 13186444 0% /run/user/1011
tmpfs 13186444 0 13186444 0% /run/user/1000
tmpfs 13186444 0 13186444 0% /run/user/1006
[root@emr-header-2 log]# df | sed -n '1,3p' # 只显示编辑过的行,也就是1、2、3行
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 123721700 26721900 90692068 23% /
devtmpfs 65922696 0 65922696 0% /dev
[root@emr-header-2 log]# df | sed -ne '1p' -e '3p' #显示1行,和3行, -e参数可以多次编辑
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 65922696 0 65922696 0% /dev