我有一个关于使用 UNIX 中的 head
和 tail
命令从巨大的事务日志中截断特定事务的问题。
head -X <<<filename>>> | tail -Y > <<<Truncatedfile>>>
其中X
是我想要从文件开头开始的行数,Y
是我想要从文件底部开始的行数。
如何修改此代码以仅包含唯一事务 ID 的事务的截断文件?例如:-该文件包含序列中n
数量的事务 ID 的事务日志。那么,如果我只需要为1个交易ID提取日志,如何修改上面的代码?
你不会修改上面的代码,而是
grep -w transactionid filename
假设事务 ID 显示为单独的单词 (-w)
编辑 您可以包含一些上下文行(这包括匹配后的 10 行:)
grep -w -A 10 transactionid filename
或者
grep -vw transactionid filename
简单隐藏不包含事务 ID 的所有行。这几乎相当于做sed -e '/transactionid/!d'
.
打印第 5-12 行
sed -n '5,12p' filename