在UNIX中使用head和tail来提取特定事务

时间:2014-01-06 21:21:55

标签: shell unix

我有一个关于在UNIX中使用headtail命令从大型事务日志中截断特定事务的问题。

head -X <<<filename>>> | tail -Y > <<<Truncatedfile>>>

其中X是我想要从文件开头的行数,Y是我想从文件底部开始的行数。

如何修改此代码以使截断的文件只包含唯一事务ID的事务?例如:- 该文件包含序列中n个事务ID数的事务日志。那么,如果我只需要为1个单独的事务ID提取的日志如何修改上面的代码呢?

1 个答案:

答案 0 :(得分:2)

您不会修改上述代码,而是

grep -w transactionid filename

假设transactionid显示为单独的单词(-w)

修改您可以添加一些上下文行(匹配后包含10行:)

grep -w -A 10 transactionid filename

或者,

grep -vw transactionid filename

简单隐藏包含交易ID的所有行 NOT 。这接近于等同于sed -e '/transactionid/!d'


打印第5-12行

sed -n '5,12p' filename