linux三剑客之sed命令,Linux 三剑客 - sed 命令的使用笔记

sed 命令的使用笔记

man sed

sed 的格式

用法

sed [选项]... {脚本 (如果没有其他脚本)} [输入文件]

SYNOPSIS

sed [-Ealn] command [file ...]

sed [-Ealn] [-e command] [-f command_file] [-i extension] [file ...]

备注

如果没有 -e, --expression, -f 或 --file 选项,那么第一个非选项参数被视为

sed 脚本。其他非选项参数被视为输入文件,如果没有输入文件,那么程序将从标准

输入读取数据

举例

$ sed 4a\newline testfile

没有-e, --expression, -f 或 --file, 4a\newline 是第一个非选项参数, 被视为脚本;

testfile 被视为输入文件

$nl /etc/passwd | sed '2,5d'

如果没有输入文件,那么程序将从标准输入读取数据: nl /etc/passwd

如果没有 -e, --expression, -f 或 --file 选项,那么第一个非选项参数被视为 sed 脚本: '2,5d'

nl tset.sh |sed -n -e '/hello/{s/hello/bluehello/;p;q}'

-n -e 是选项

''框起来的是脚本

{}框起来的是动作

s, p, q 都是动作,用;号分隔

nl /etc/passwd | sed -e '3,$d' -e 's/bash/blueshell/'

-e 表示多点编辑,第一个编辑命令删除/etc/passwd 第三行到末尾的数据,第二条命令搜索 bash 替换为 blueshell。

命令解析

选项

-n 输出脚本处理后的结果

$ nl /etc/passwd | sed -n '5,7p'

linux三剑客之sed命令,Linux 三剑客 - sed 命令的使用笔记_第1张图片

动作

q 退出

nl tset.sh |sed -n '/hello/{s/hello/bluehello/;p;q}'

linux三剑客之sed命令,Linux 三剑客 - sed 命令的使用笔记_第2张图片

s 替换

如上图

你可能感兴趣的:(linux三剑客之sed命令)