這應該是一個沒有腦子的文件,但顯然今天我沒有腦子。創建使用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