这应该是一个没有脑子的文件,但显然今天我没有脑子。创建使用grep和通配符输入文件
我有包含来自多个应用程序,其中之一就将此交易ID其日志条目线50 20演出日志。我有42个事务ID需要查看,我想将相应的行解析为单独的文件。
做单文件,命令会简单地说,
grep CDBBDEADBEEF2020X02393 server.log* > CDBBDEADBEEF2020X02393.log
创建隔离到该事务日志,来自50个server.logs。
现在,我有42个txnIDs(缩短至4在这里)的文件:
CDBBDEADBEEF2020X02393
CDBBDEADBEEF6548X02302
CDBBDE15644F2020X02354
ABBDEADBEEF21014777811
我写道:
#/bin/sh
grep $1 server.\* > $1.log
但是,这是行不通的。更改家当到#/斌/庆典-xv,给我这个奇怪的输出(显然我在玩什么正确的逃生魔术必须):
$ ./xtrakt.sh B7F6E465E006B1F1A
#!/bin/bash -xv
grep - ./server\.\*
' grep - './server.*
: No such file or directory
我也曾尝试在命令行
grep - server.* <txids.txt> $1
但很明显的是$ 1没有意义的,我不知道如何得到使用输入每TxID添加命名的文件重定向命令的形式。
在此先感谢您的任何想法。我还没有走过在shell脚本中执行foreach的路线,因为我希望grep将原始文件名放在输出行中,以便稍后在需要时检查上下文。
而且 - 这将是巨大的,有服务器*文件排序数字(server.log.1,server.log.2不server.log.1,server.log.10 ...)
完美 - 谢谢! – user1944491