[英]grep positive/negative integer value only
我只希望 grep 任何正/負整數,沒有小數,或任何其他變體,包括數字。
我有一個 testpart1.txt,它有:
This is a test for Part 1
Lets write -1324
Amount: $42.27
Numbers:
-345,64
067
Phone numbers:
(506)530-2424
這應該輸出以下代碼:
This is a test for Part 1
Lets write -1324
067
我是 bash 的新手,我找不到如何排除任何以 '.' 之類的字符分隔的數字。 或者 ','。 我可以使用以下代碼獲取所有數字,但之后我被卡住了:
egrep '[0-9]' testpart1.txt
這給了我與我想要的相反的東西:
grep '[0-9]\.[0-9]' testpart1.txt
您可以使用此grep
:
grep -E '(^|[[:blank:]])[+-]?[0-9]+([[:blank:]]|$)' file
This is a test for Part 1
Lets write -1324
067
細節:
-E
: 啟用擴展正則表達式匹配(^|[[:blank:]])
: 匹配行開始或空格或制表符[+-]?
: 匹配可選的+
或-
[0-9]+
: 匹配 1 個或多個數字([[:blank:]]|$)
: 匹配行尾或空格或制表符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.