我舉兩個例子:
示例 1,
touch {a..z}
ls
a b c d e f g h i j k l m n o p q r s t u v x w y z
但我想拒絕n
a b c d e f g h i j k l m "" o p q r s t u v x w y z
示例2,(我真正想做的)
ls
c1 c-2 ca4 cA5 cs1 cs2 cs3 cs4 cs5
rm c* #but not starting with "cs"
對于示例 1,我不想模棱兩可,我想要類似的東西:
rm c*(!s) #this command will give an error, but I want to remove all strings starting with "c", not "cs"
如何拒絕一個角色?
uj5u.com熱心網友回復:
您似乎在尋求模式匹配領域的解決方案,因此否定字符類非常適合該請求:
rm c[^s]*
[^s]匹配除s(包括大寫)之外的一個字符S,因此整體模式將匹配
c1, c2, ca, clover, c12, cS, c@:,.,等等,
但不是
c, cs, cs1, cs101, 或csience.
您可以在Bash 手冊中找到更多詳細資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/425935.html
上一篇:如何為以下情況撰寫單行cd命令?
