Задание 1.
В файле query2 выбрать все строки, в которых номер телефона начинается с ‘555’.
Выполнение:
Номер телефона в файле query2 начинается с 79 позиции. Поэтому сначала необходимо пропустить 78 символов от начала строки ^.\{78\}. Затем должны следовать три пятёрки:
1 |
grep '^.\{78\}555' query2 |
Задание 2.
В файле query3 выбрать все строки, в которых в названии есть текст, взятый в
кавычки, а в нем — слово ‘GUIDE’.
Выполнение:
Сначала выполняется пропуск 7 символов, чтобы попасть на название, затем могут быть не более 28 любых символов (длина наименование), но вообще их должно быть меньше. А затем кавычки, любые символы, GUIDE, любые символы и снова кавычки:
1 |
grep '^.\{7\}.\{0,28\}".*GUIDE.*\"' query3 |
Задание 3.
В файле query4 выбрать все строки, в которых сумма содержит целое число сотен.
Выполнение:
Целое число сотен означает, что в конце суммы находятся 2 нуля. Так как сумма — последнее поле в файле, то нужно искать два нуля, за которыми находится конец файла.
1 |
grep '00$' query4 |
Задание 4.
В файле query4 выбрать все строки, в которых фамилия продавца заканчивается
буквой ‘N’.
Выполнение:
Фамилия продавца начинается с 5-ой строки, затем идёт некоторое количество символов, заканчивающихся N. Заканчивающихся означает, что за N идёт пробел ( [[:space:]] )
1 |
grep '^.\{4\}[[:alpha:]]*N[[:space:]]' query4 |
Задание 5.
В файле query2 выбрать все строки, в которых индекс начинается с ’11’.
Выполнение:
Индекс начинается с 73 позиции, значит необходимо пропустить 72 символа. после должны идти две единицы:
1 |
grep '^.\{72\}11' query2 |
Задание 6:
В файле query4 выбрать все строки, в которых сумма не меньше 10000.
Выполнение:
Сумма начинается с 26 позиции. не меньше 10000 означает, что в состав суммы входят не менее 5 цифр:
1 |
grep '.\{25\}[[:digit:]]\{5,\}' query4 |