我有一个文件有 10 行。当我执行 sed '4!q' filename 时,为什么它只显示第一行?
答案1
该sed
表达式4!q
将为除第 4 行之外的每一行执行命令q
,例如第一行。
在第一行执行q
将导致编辑脚本在打印该行的内容后终止。
如果您想输出前四行(不清楚您实际想要做什么),请使用head -n 4
or sed 4q
(“在第 4 行退出”)。如果要打印除第 4 行之外的所有行,请使用sed 4d
(“删除第 4 行”)。
我有一个文件有 10 行。当我执行 sed '4!q' filename 时,为什么它只显示第一行?
该sed
表达式4!q
将为除第 4 行之外的每一行执行命令q
,例如第一行。
在第一行执行q
将导致编辑脚本在打印该行的内容后终止。
如果您想输出前四行(不清楚您实际想要做什么),请使用head -n 4
or sed 4q
(“在第 4 行退出”)。如果要打印除第 4 行之外的所有行,请使用sed 4d
(“删除第 4 行”)。