Bash技巧:打印文件中SPECIAL_LINE之前的所有行(不含该行)
问题
我自己写了一段命令来输出文件中SPECIAL_LINE之前的内容(不包含该行):
awk '{print}/SPECIAL_LINE/{exit}' file.txt | head -n -1
想请教有没有更简洁优雅的实现方式?
更新反馈
非常感谢大家的解答!我发现自己的方案存在一个问题:当文件中不存在SPECIAL_LINE时,不会输出任何内容。对比下来,sed -n "/SPECIAL_LINE/q;p"是我个人最喜欢的最短方案——它不仅更简洁,还能在目标行不存在时输出文件全部内容。了解不同工具的实现差异,本身就是很有价值的学习过程。
内容的提问来源于stack exchange,提问作者Signor Pizza
相关产品推荐
相关产品推荐

