Tag: grep

SED – поиск и замена специальными символами (#,,%)

Я знаю, что это очень простой вопрос, но я изо всех сил пытаюсь найти решение этого. Мне нужно автоматически найти и заменить в /etc/aliases следующий раздел: # Person who should get root's mail #root: marc И это должно выглядеть примерно так: # Person who should get root's mail root: someone@something.tld И я не смог найти […]

Как выбрать специфические файлы в grep

Так. Мне нужно grep строку в каталоге, который содержит файлы с тем же именем, кроме часов: т.е. filename_01_WORD-1.log filename_02_WORD-1.log filename_03_WORD-1.log filename_04_WORD-1.log filename_05_WORD-1.log … filename_23_WORD-1.log filename_24_WORD-1.log Я пытаюсь вырвать одно слово «ABC» только в часах между 18 и 23 годами. Я пробовал с grep 'ABC' filename_[18-19-20-21-22-23]*WORD*.log но он расширяется как grep на файлы с 05 по […]

ошибка в порядке egrep

Это часть скрипта; эта часть должна проверять, есть ли строка в первом слове дважды или больше, которая также находится в последнем слове дважды или больше (в строке по последнему слову). echo "$first $last" | egrep "(([^ ]+)[^ ]* \1[^ ]* )[ ]* \2\2 * " Ошибка: egrep: Invalid back reference

Как проверить, содержит ли строка подстроку в тире или золе?

Вот что я делаю: #!/bin/sh contains() { if $(echo $1 | grep -c $2) ; then echo "0" # contains else echo "1" # not contains fi } myString=$1 mySubsting=$2 contains $myString '$mySubsting' Вот пример выполнения: # sh ./myScript abcdef bc ./myTest: line 3: 0: command not found 1 Редакция: Исходный вопрос: Как проверить, содержит […]

регулярное выражение grep grep в команде sed

Я пытаюсь создать скрипт, который найдет / заменит экземпляры соответствия строк: vc/integer Файл / etc / securetty содержит следующие строки: vc/1 vc/2 vc/3 vc/4 vc/5 vc/6 vc/7 vc/8 vc/9 vc/10 vc/11 grep -E 'vc/(\d{0,4}\D)*' /etc/securetty | while read line; do sed -ie "s=$line==g" /etc/securetty; done Как и ожидалось, вышеупомянутая команда удаляет все упомянутые строки, но […]

exit awk, если вход отсутствует

Мне нужно, чтобы awk возвращал код выхода 1, если: не поступало вход от grep до awk второе поле пусто или не существует Он работает, когда grep находит «SOME_PHRASE», но если эта фраза не выходит, код возврата ($?) Равен 0. grep -m1 -i '^SOME_PHRASE' test.txt | awk '{ if (length($val)==0 || $val=="" || length($2)==0) exit 1; […]

grep соответствует всем вхождениям нескольких регулярных выражений

Мне нужно извлечь все переменные хоста из инструкции SQL, которые являются частью конкатенации. Пример ввода: select * from table where :first-var || :second-var Из этого мне нужно извлечь «first-var» и «second-var». Согласование одного или другого может быть выполнено с использованием: grep -o -E ':\S+\s+\|\|' matches ': first-var ||' а также grep -o -E '\|\|\s+:\S+' совпадения […]

синтаксис grep для поиска строк с одиночными кавычками?

Итак, у меня есть файл .js, как показано ниже, и я пытаюсь выполнить поиск с помощью шаблона grep ниже. Я не уверен, какую ошибку я сделал, но он не дает никакого результата, даже если файл имеет этот шаблон. Какую ошибку я делаю и как ее исправить? .js файл: var View = require('ampersand-view'); window.jQuery = require('jquery'); […]

Получить конкретное слово и следующий текст

Входной файл Mar 21 13:25:04 ip-172-2-0-53 sendmail[5857]: v2LKMUDq005855: to=<dirdel@gmail.com>,<jhk@hotmail.com>, delay=00:02:34, xdelay=00:02:34, mailer=esmtp, pri=151745, relay=icadmed-com.mail.p…ction.googlemail.com. [xxx.xx.xxx.xxx], dsn=2.0.0, stat=Sent (<5c847a983008319fdd71bc81b60daef7@dmgnc.radionhub.com> [InternalId=76295799050449, Hostname=BY1PR0701MB1752.namprd07.prod.gmail.com] 8962 bytes in 0.961, 9.102 KB/sec Queued mail for delivery) Mar 21 11:34:55 ip-172-2-0-53 sendmail[5478]: v2LIXc00005476: to=<delivery@gmail.com>, delay=00:01:17, xdelay=00:01:17, mailer=esmtp, pri=120883, relay=gmail-com.mail.p…ction.googlemail.com. [xxx.xx.xxx.xx], dsn=2.0.0, stat=Sent (<7bb6f30a4ba05ffab3bad46b7a51620b@roshdieh.radionhub.com> [InternalId=79285096289546, Hostname=CY1PR07MB1448.namprd07.prod.googlemail.com] 8049 bytes in 0.226, 34.732 KB/sec Queued […]

Как вы соответствуете строке, которая начинается с специального символа с помощью grep?

У меня есть много файлов .txt в моем каталоге, которые содержат строки, начинающиеся с '=' Для ex: a.txt имеет следующую строку (сначала с пробелами) =putSomething here; Как написать grep-запрос, который будет соответствовать указанной выше строке? Я попробовал следующее: find . -name "*.txt" | xargs grep -rn "^[=].*$"

Linux и Unix - лучшая ОС в мире.