Solaris

Grep 多個文件的內容

  • November 12, 2018

我的作業系統是 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 參數。

引用自:https://unix.stackexchange.com/questions/481191