Tag: текстовая обработка

количество столбцов со значением 0 в строке / строке 230

Я хочу подсчитать количество столбцов со значением 0 в строке 230, как это сделать? Это дает мне число 0s в столбце 230: awk ' $230==0{c0++};END{print "Missing: "c0;}' file но я хочу число 0 в строке 230

Как изменить только последнюю строку (или любые конкретные номера строк) с помощью команды awk?

У меня есть большой файл с несколькими столбцами с # числом записей (строк). Как я могу применить только команду awk в последней записи или любом конкретном номере записей ( ig NR == 4) или диапазон строк (NR == [2-5])? в качестве примера в следующем файле: echo filename 30.5,2010/06/01,2016/08/29,2281.00,0006.25,0074.94 41.6,2008/03/05,2012/03/05,1461.00,0004.00,0048.00 39.6,2008/03/05,2012/09/10,1649.96,0004.52,0054.21 41.0,2008/03/05,2013/09/16,2020.96,0005.53,0066.40 42.2,2008/03/05,2014/03/18,2203.96,0006.03,0072.41 41.1,2008/03/05,2014/09/16,2385.96,0006.53,0078.39 43.1,2008/05/08,2014/09/16,/2322.00,/0006.36,/0076.29 29,2281.00,0006.25,0074.94 […]

Получить определенную информацию из файла журнала

Я хочу получить некоторые части из моего файла журнала, я попытался разрезать часть запроса, чтобы получить пользователя, модуль, действие, doAjax и ajaxAction Например, у меня есть 195.xx.xx – – [25/Apr/2017:09:60:xx +0200] "POST /userx/index.php?m=contacts&a=form&… 192.xx.xx – – [25/Apr/2017:09:45:xx +0200] "POST /usery/index.php?m=customer&doajax=request&action=getContacts… 197.xx.xx – – [25/Apr/2017:09:20:xx +0200] "GET /userx/index.php?m=meeting&doajax=date&id=3 и я хочу иметь: [user]|[module]|[action]|[doAjax]|[ajaxAction] usery contacts form […]

Как разделять строки в огромном файле данных на основе количества столбцов внутри них в Linux?

У меня есть файл данных: 1 2 4 5 6 7 19 20 22 24 26 27 29 30 31 32 34 40 50 56 58 234 235 270 500 1234 1235 1236 1237 2300 Я хочу разбить эти строки с более чем 4 столбцами на более мелкие строки с максимум 4 столбцами в каждой […]

Удалить столбец из CSV

У меня есть файл csv, который находится в форме input.csv 1,AREA,"POLYGON((103.855 1.27267,103.856 1.27316,103.851 1.27506,103.853 1.27941,103.853 1.2793,103.852 1.27879,103.852 1.27639,103.851 1.27624,103.851 1.27634,103.851 1.27661,103.851 1.27699,103.852 1.27985,103.852 1.28138,103.853 1.28188,103.853 1.28189,103.853 1.28058,103.853 1.28044,103.853 1.28048,103.853 1.28084,103.853 1.28206,103.853 1.28216,103.853 1.28205,103.853 1.28205,103.854 1.28196,103.854 1.28209,103.855 1.28141,103.855 1.2813,103.855 1.28086,103.856 1.28001,103.859 1.28528,103.859 1.28555,103.859 1.28556,103.859 1.28586,103.859 1.28587,103.859 1.28629,103.859 1.28662,103.859 1.28669,103.87 1.28157,103.873 1.27787,103.871 1.27586,103.863 1.26996,103.862 1.26924,103.861 1.2689,103.86 1.26869,103.859 […]

Добавление «:» форматирования времени с использованием awk

Для входного файла с именем Lab1: 034023 052030 034023 022130 044023 012030 034223 022030 034123 152030 024023 152030 Команда AWK awk 'gsub(/[0-9][0-9]/,"&:",$1) gsub(/[0-9][0-9]/,"&:",$2)' Lab1 результаты: 03:40:23: 05:20:30: 03:40:23: 02:21:30: 04:40:23: 01:20:30: 03:42:23: 02:20:30: 03:41:23: 15:20:30: 02:40:23: 15:20:30: Как я могу предотвратить отставание двоеточий? желаемый результат 03:40:23 05:20:30 03:40:23 02:21:30

shell-скрипт для выполнения текстовой обработки структуры данных текстовых файлов и небольших изменений содержимого

Извините заранее за стену текста, не знаете, как еще представить существующую структуру данных. Мне каждый час передавали журналы с сервера. К сожалению, исправление сценария сбора данных, так что он создает файлы так, как они хотят, чтобы они продвигались вперед, было легко, но мне все равно нужно преобразовать тысячи существующих файлов. Я нахожусь здесь на некоторых […]

Grep, которые содержат «1111-11-11» или «2382-21-20». (Любые номера)

Я попытался это сделать, и я придумал это grep -E '\<[0-9]{4}"-"[0-9]{2}"-"[0-9]{2}\>' Это не работает, и причина этого в том, что это "-" и несколько grep-вещей, поэтому я попытался делить их на такую ​​трубку grep -E '\<[0-9]{4}-|[0-9]{2}-|[0-9]{2}\>' Но он по-прежнему соответствует строкам вроде 4444 или аналогичным. Кто-нибудь знает, как добиться того, чего я хочу?

Сравнение меток времени в awk

Рассматривая ниже файл, как я могу сравнить две метки времени, отметив, что временная часть пренебрежимо мала. foo,boo,2038-01-18T12:00:00+02:00 foo,boo,2015-09-12T01:31:24+03:00 foo,boo,2015-08-04T03:15:38+03:00 Я попытался сделать это substring даты, используя приведенный ниже код, и сравнить его с другими датами, т.е.: 2015-08-12 awk -F, '{$3=substr($3,1,10)}{if($3<2015-08-12){print $0}}' Но это не сработало. Желаемый результат: foo,boo,2015-08-04T03:15:38+03:00 ИЛИ: foo,boo,2015-08-04

Как проверить, что каждая строка в файле с разделителями каналов одинакова для разных

У меня есть файл с разделителями каналов, который может иметь миллионы записей. То, что я хочу сделать, это сортировать файл и удалять, если там есть дубликаты строк. Затем мне нужно проверить первые 32 столбца и посмотреть, совпадает ли содержимое первой строки со второй строкой. Если да, то удалите вторую строку и снова проверьте первую строку […]

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