17、sed 退出程序命令 q

退出 命令指示 sed 就退出程序。

sed使用单字母 q 命令来退出程序。

q是 quit 的缩写,翻译为中文是 退出 的意思。

q命令的使用语法如下

[address]q 
[address]q [value]

q命令指示 sed 退出程序。退出前会使用 p 命令输出模式缓冲区中的数据和清空模式缓冲区。

注意: q 不支持范围寻址。

注意2: 苹果电脑自带的 sed 不支持 q 命令

范例

下面的范例只处理前 3 行,第三行处理完成后自动退出。

[www.ddkk.com]$ sed '3 q' data.txt

输出结果如下

1) 小明,23岁,北京大学
2) 小红,22岁,清华大学
3) 小李,25岁,斯坦福大学

范例 2

除了使用 行号 来寻址之外,我们还可以使用 正则表达式 来寻址。

下面的范例当行包含了 斯坦福 时则退出程序。

[www.ddkk.com]$ sed '/斯坦福大学/ q' data.txt

输出结果如下

1) 小明,23岁,北京大学
2) 小红,22岁,清华大学
3) 小李,25岁,斯坦福大学

范例 3

退出命令 q 还可以接受一个参数 value 用做程序退出的状态码。

下面的范例,我们指定程序退出的状态码为 100

[www.ddkk.com]$ sed '/斯坦福大学/ q 100' data.txt

输出结果如下

1) 小明,23岁,北京大学
2) 小红,22岁,清华大学
3) 小李,25岁,斯坦福大学

我们可以使用 $ ? 来检查刚刚的退出码

[www.ddkk.com]$ echo $?

输出结果如下

100