用法: 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% /devtmpfs 65932204 92 65932112 1% /dev/shmtmpfs 65932204 932 65931272 1% /runtmpfs 65932204 0 65932204 0% /sys/fs/cgroup/dev/vdb 264091716 14602820 249472512 6% /mnt/disk1tmpfs 13186444 0 13186444 0% /run/user/1001tmpfs 13186444 0 13186444 0% /run/user/0tmpfs 13186444 0 13186444 0% /run/user/1011tmpfs 13186444 0 13186444 0% /run/user/1000tmpfs 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% /devdevtmpfs 65922696 0 65922696 0% /devtmpfs 65932204 92 65932112 1% /dev/shmtmpfs 65932204 932 65931272 1% /runtmpfs 65932204 0 65932204 0% /sys/fs/cgroup/dev/vdb 264091716 14602820 249472512 6% /mnt/disk1tmpfs 13186444 0 13186444 0% /run/user/1001tmpfs 13186444 0 13186444 0% /run/user/0tmpfs 13186444 0 13186444 0% /run/user/1011tmpfs 13186444 0 13186444 0% /run/user/1000tmpfs 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