[英]Grep or in part of a string
大家好
文件名可以是
是否可以執行grep abc_source|source2_201501.csv
而沒有完整列出文件名,因為我正在使用的文件名比給出這兩個選項的示例長得多?
感謝您的協助。
在grep中使用擴展的正則表達式標志。
例如:
grep -E abc_source.?_201501.csv
會在您的示例中同時列出這兩行。 您可以想到其他更適合您數據的正則表達式模式。
您可以使用猛砸通配符一次在多個文件到grep。
例如,要在所有文件名以abc_source開頭並以201501.csv結尾的文件中grep字符串“ hello”,請發出以下命令:
grep hello abc_source*201501.csv
您也可以使用-r標志來遞歸grep給定文件夾下的所有文件-例如當前文件夾(。)。
grep -r hello .
如果您在外殼中詢問有關文件名匹配的模式,則Bash中的擴展globlobing工具可以讓您說
shopt -s extglob
grep stuff abc_source@(|2)_201501.csv
使用單個glob表達式搜索兩個文件。
最簡單的可能性是使用大括號擴展:
grep pattern abc_{source,source2}_201501.csv
完全相同:
grep pattern abc_source{,2}_201501.csv
您可以在一個單詞中使用多個大括號模式:
grep pattern abc_source{,2}_2015{01..04}.csv
擴展到
grep pattern abc_source_201501.csv abc_source_201502.csv \
abc_source_201503.csv abc_source_201504.csv \
abc_source2_201501.csv abc_source2_201502.csv \
abc_source2_201503.csv abc_source2_201504.csv
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.