grep только положительное / отрицательное целочисленное значение
Я ищу 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
Я новичок в Баш, и я не могу найти, как исключить любое число, разделенное символом, как a '.' или ','. Я могу получить все номера со следующим кодом, но я застрял после этого:
egrep '[0-9]' testpart1.txt
Это дает мне противоположное тому, что я хочу:
grep '[0-9]\.[0-9]' testpart1.txt
У вопроса есть решение - Посмотреть?
Ответы - grep только положительное / отрицательное целочисленное значение / grep positive/negative integer value only
Является ответом!

05.02.2020 10:59:46
Вы можете использовать этот 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:]]|$)
: совпадение конца строки или пробела или символа табуляции
Помочь в развитии проекта: