Решено: Никак не получается осилить gawk (Поиск строки с табуляцией)

Модератор: Модераторы разделов

Аватара пользователя
zrd
Сообщения: 21

Решено: Никак не получается осилить gawk

Сообщение zrd »

Есть большой объем числовых данныхв файле file-input.txt. Необходимо отсеять из этих данных все строки, кроме тех которые содержат число 2007. Но число 2007 содержится так же и в других прочих строках в виде включений, например: 2392007287. Зато точно известно, что перед правильным числом 2007 имеется табуляция.
Т.е. запрос должен выглядеть примерно так:

Код: Выделить всё

cat file-input.txt | gawk '/\t'2007 >>file-output.txt
Получаю синтаксическую ошибку.

Или так:

Код: Выделить всё

cat file-input.txt | gawk '/\t/'2007 >>file-output.txt
Получаю на выводе все содержимое файла.

Если же так:

Код: Выделить всё

cat file-input.txt | gawk '/\t2007/' >>file-output.txt
То совпадений не обнаруживается.

Подскажите, плз, как же все-таки правильно составить этот запрос?
P.S. Все приведенные соображения основаны на этом материале.

P.P.S. Кажется не совсем в тот раздел написал... Будьте добры, перенесите в Программирование для начинающих, плз.
Спасибо сказали:
Аватара пользователя
zrd
Сообщения: 21

Re: Решено: Никак не получается осилить gawk

Сообщение zrd »

Как часто бывает, решение нашлось почти сразу после поста и гораздо проще, чем представлялось:

Код: Выделить всё

cat file-input.txt | grep [[:space:]]2007[[:space:]] >>file-output.txt


:)
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Решено: Никак не получается осилить gawk

Сообщение diesel »

Вобщем вот:

diesel@beezir

diesel@beezir:~$ cat tmp tab tab1 no tab tab&space diesel@beezir:~$ gawk '/\t/' tmp tab tab1 tab&space diesel@beezir:~$ gawk '/\ttab/' tmp tab tab1 diesel@beezir:~$ gawk '/ *\t *tab/' tmp tab tab1 tab&space diesel@beezir:~$ od -c tmp 0000000 \t t a b \n \t t a b 1 \n n o t a 0000020 b \n \t t a b & s p a c e \n 0000036


ps. упс. уже не надо :)
Спасибо сказали:
Аватара пользователя
zrd
Сообщения: 21

Re: Решено: Никак не получается осилить gawk

Сообщение zrd »

Мегаспасибо!

Хоть текущая задача и была решена, с гавком тем не менее интересно было как решается :)
Вот, кстати, непонятно, почему

Код: Выделить всё

diesel@beezir:~$ gawk '/\ttab/' tmp
        tab
        tab1

у меня не заработало...
Спасибо сказали: