Find
如何使用 find 命令查找兩個不同的文件
我停留在我的腳本應該找到兩個不同文件的地方。其中一個時間戳就像
D210929
另一個20210929
。我有這兩個文件:HGIS4C.IOPZ.IP4.CCCP.D210929.S004596.IO99999.19992.1111.CCCP.IP9999 HGS4C.SCS.CCA1.TSILocationContactData20210929.zip
我的問題是如何用
find
命令找到這兩個文件?例如find . -name "TBSI4C.[SCS]*.[D]${DATE}" | grep -c TBSI4C 2>/dev/null
假設您
YYYYMMDD
在 shell 變數中的表單上有一個日期date
,您可以用 去掉前兩個字元${date#??}
。現在,您可以使用
find
在目前目錄中或下方搜尋名稱與兩種模式中的任何一種匹配的正常文件*$date.zip
或*.D${date#??}.*
.find . -type f \( -name "*$date.zip" -o -name "*.D${date#??}.*" \)
上面會找到這兩個文件(或者,它會至少找到這兩個文件)。如果您想對文件執行某些操作,請通過
-exec
選項呼叫實用程序。find
由於您沒有說明您打算如何使用這些文件,因此無法在此處給出實際範例。
你可以指定多個
-name PATTERN
參數,像這樣find . -name PATTERN1 -o -name PATTERN2