簡體   English   中英

bash中點的通配符是什么?

[英]What's the wildcard for dot in bash?

我有類似0001.file1.email.data.spam.txt和0001.file1.email.data.spam_1.txt的文件

現在,我想刪除所有以“ _1.txt”結尾的文件,我嘗試使用“ rm -rf * spam_1.txt”,但是找不到文件。 可能是因為*無法視為點。

點是一個文字字符,僅與之匹配。

*通配符匹配任何字符序列,而? 通配符匹配任何單個字符,但是通配符匹配將忽略以點開頭的文件,除非您啟用了dotglob (默認情況下處於關閉狀態)。

您可以輕松檢查通配符表達式匹配哪些文件,例如

printf '>>%s<<\n' *spam_1.txt

>> ... <<裝飾只是為了易於查看任何前導或尾隨空白,而並非必須如此。)

在沒有nullglob的情況下,如果找不到任何匹配項,則上面的代碼將打印通配符本身。 如果通配符不匹配,還請檢查一下failglob ,這會導致打印錯誤並中止命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM