Solaris
Grep 多個文件的內容
我的作業系統是 Sun Solaris。
SunOS sintscdldmu001 5.11 11.3 sun4v sparc sun4v
我下了命令
alter database backup controlfile to trace;
,碰巧忘記了。當我需要控製文件的內容時,我開始搜尋它。現在我想要類似的東西
grep *.trc | grep -i 'CONTROLFILE'
在哪個文件下找到我的控製文件內容的正確命令是什麼?
grep -l
這將列印文件的名稱和匹配的行。它不會為多個匹配項重複文件名。
如果您要查找的字元串是 CONTROLFILE 那麼您可以這樣做:
grep -li CONTROLFILE /path/to/trcfiles/*
這將輸出包含字元串 CONTROLFILE 的文件的名稱和匹配行。如果該字元串在 .trc 文件中並且這就是您想要返回的全部內容,則將其通過管道傳輸到命令的末尾。
grep -li CONTROLFILE /path/to/trcfiles/* | grep *.trc
如果要在其余文件中搜尋關鍵字“控製文件”,請使用以下命令,注意 -i 使搜尋不區分大小寫
grep -i "controlfile" *.trc
但是如果 controlfile 是一個文件,它有一些要在其余文件中搜尋的模式,那麼您將必須傳遞 controlfile 的內容,如下所示
grep -f controlfile *.trc
這將在其餘 trc 文件中搜尋 controlfile 的內容。
如果您位於文件所在的同一文件夾中,則只需將 *.trc 作為最後一個參數,否則相應地給出絕對/相對路徑。如果您想從路徑開始遞歸搜尋其余文件夾中存在的文件,請使用 -r 參數。