簡體   English   中英

魚殼上奇怪的grep行為

[英]Strange grep behaviour on fish shell

cat > abc.txt <<EOF
2014-04-11 00:00:00
2014-02-19 00:22:00
EOF

當我執行

grep -E :[0-9]{2}: abc.txt

我懂了

2014-02-19 00:22:00

我期待

2014-04-11 00:00:00
2014-02-19 00:22:00

這發生在魚殼(2.4.0)上,在bash上工作正常。 我對這里發生的事情很感興趣

在魚中{a,b,c}是一個枚舉器。 文檔中的使用示例:

$ echo input.{c,h,txt}
input.c input.h input.txt

因此,您的正則表達式擴展為:[0-9]2: ::

$ echo :[0-9]{2}:
:[0-9]2:
$ echo :[0-9]{2,3,4}:
:[0-9]2: :[0-9]3: :[0-9]4:

逃避花括號以避免這種情況:

$ echo :[0-9]\{2\}:
:[0-9]{2}:

或者,按照Fredrik的建議,引用整個正則表達式:

$ echo ':[0-9]{2}:'
:[0-9]{2}:

暫無
暫無

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

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