我的問題很簡單,但我還沒有找到任何解決方案。我需要找到名稱中重復日期(字串)的檔案。例如:
20190101_fl_20190101.nc
20190101_fl_20190104.nc
20190102_fl_20190102.nc
20190102_fl_20190104.nc
我需要找到20190101_fl_20190101.nc 和 20190102_fl_20190102.nc。
我試過了
ls 20190[0-9][0-9][0-9]_fl_20190[0-9][0-9][0-9].nc
但是,正如預期的那樣,它會找到所有可能的組合。
任何幫助將不勝感激。
uj5u.com熱心網友回復:
您可以使用
find . -type f -regextype posix-extended -regex '.*/(20190[0-9]{3})_fl_\1\.nc$'
正則運算式匹配
.*/- 最右邊的任何字符/(必需,因為使用的模式find需要完整的字串匹配)(20190[0-9]{3})- 第 1 組:2019和任意三位數字_fl_- 一個固定的子串\1- 對第 1 組值的反向參考\.nc-.nc字串$- 輸入結束。
該-regextype posix-extended選項是必需的,因為上面的模式符合 POSIX ERE。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/355840.html
