我想使用tail -1
模拟grep
命令,即我想使用grep打印文件的最后一行。可以使用sed
或awk
轻松完成。但我找不到grep
答案 0 :(得分:1)
为什么你要这么做呢?正如所有人都建议的那样,有更好的工具可以完成这项工作。
这是您想要的解决方案:
grep "^" -n filename | grep -Po "(?<=^$(grep -c "^" filename):)(.*)"
诀窍是显示所有带行号的行(-n选项)
然后匹配文件行数之前的行
grep -c "^" filename
部分给出了行数
-P
允许使用PCRE,因为需要积极的后视匹配。
如果您无法访问-P
(我对此表示怀疑),请使用其他过滤方式,如下所示,但对于包含:
字符的行不起作用:
grep "^" -n filename | grep "^$(grep -c "^" filename):" | grep -o "[^:]*$"
这篇文章背后的原因是为了证明这只能使用grep
来完成。
道德:! (强烈推荐)