我想找到所有名字和姓氏只有 6 個字符長的名字。我已經寫了這個,grep '^.{6},.{6}$' names.txt但它沒有給出任何輸出。名稱寫在檔案 names.txt 中。示例 -> 名字,姓氏
uj5u.com熱心網友回復:
grep '^.\{6\},.\{6\}$' names.txt
uj5u.com熱心網友回復:
如果您使用基本的正則運算式,則必須轉義花括號。
使用您的模式,您可以添加-E擴展正則運算式,這樣您就不必轉義它們。
grep -E '^.{6},.{6}$' names.txt
請注意,模式中的點也可以匹配空格或逗號,因此模式也可以匹配:
,,,,,,,,,,,,, 或者 ,
您可以使用否定字符類更新模式以匹配除空格、制表符或逗號以外的任何字符的 6 次 [^,[:blank:]]
grep -E '^[^,[:blank:]]{6},[^,[:blank:]]{6}$' names.txt
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/341563.html
標籤:正则表达式
