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

Массив с двумя входными файлами awk

У меня есть два файла: один с NF=7 другой – NF=47 Мне нужно проверить количество вхождений $2 в файл с NF=7 . Если count <=2 , мне нужно сделать массив из того же файла, который содержит arr1[$1]=$1 Для этого действия я использовал следующий код: awk -F"," '{if(NF==7){arr[$2]++}}END{for(i in a){if(arr[i]<=2){print $0}}}' Для действия второго файла мне […]

Шестнадцатеричная проверка последовательности чисел в Linux?

У меня есть список шестнадцатеричных чисел. Я хотел бы проверить, находятся ли они в последовательности или нет. То есть, они должны быть последовательными числами в порядке возрастания. Другими словами, должно быть приращение 1 от каждой строки к следующей. Пример списка шестнадцатеричных чисел: 85AF 85B0 85B1 85B2 85B3 85B4 85B5 85B6 85B7 85B8 85B9 85BA 85BB […]

Мониторинг файла журнала и выполнение различных команд в зависимости от разных условий

У меня есть файл журнала, который я хочу отслеживать, и в зависимости от того, какое условие выполняется, должны выполняться разные команды. Я нашел решение, которое приближается к этому здесь . К сожалению, это не работает для меня и просто дает мне пустые строки в терминале. xterm -e "$path_to_program | tee -a ${log_path}" & tail -f […]

Создание одного файла из другого на основе условий поиска

Как я могу создать файл, содержащий все после и включая определенный поисковый запрос из другого файла в терминале? Пример: Исходное содержимое файла : foo, bar, baz, qux Поисковый запрос: baz Содержание нового файла : baz, qux

«While read» также выводит то, что не читается / не редактируется

(Я знаю, что название плохо, так как оно характерно для моего случая) Я уже давно пытаюсь создать сценарий. Я пробовал много разных методов, но то, что я хочу сделать, это отредактировать xml-файл и заменить то, что находится внутри одного из тегов. Это мой сценарий: while read line; do if [[ "$line" == *"<Valuec=\"0\">"* ]] then […]

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

Я пытался выяснить, как увидеть совпадения между столбцом 2 file1 и столбцом 6 file2 . Если это так, я хотел, чтобы это совпадение было напечатано вместе с соответствующей строкой в ​​столбце 14 file2 , сохраненной в другом файле file3 . file1: 1 ENSCAFT00000037911 1 ENSCAFT00000046425 1 ENSC 1 ENSCAFT00000009252 1 ENSCAFT00000049028 1 ENSC 2 AFT00000000014 […]

Как повернуть данные по awk в сценарии оболочки unix?

Я пытаюсь повернуть файл с помощью awk. Это пример моего ввода. Файл: P2P,P2P,MP,DL,AIR,UP,HR,UPE,GSM,S,PP,1,NA,0.2,0.2 P2P,P2P,MP,DL,AI,UP,HR,UPE,GSM,F,PP,4,NA,0.2,0.8 P2P,P2P,MP,DL,AIR,UP,HR,UPE,GSM,S,PP,1,NA,0.2,0.2 P2P,P2P,MP,DL,AI,UP,HR,UPE,GSM,S,PP,1,NA,0.2,0.2 P2P,P2P,MP,DL,AIR,UP,HR,UPE,GSM,S,PP,1,NA,0.2,0.2 P2P,P2P,MP,DL,AIR,UP,HR,UPE,GSM,F,PP,1,NA,0.2,0.2 P2P,P2P,MP,DL,BIR,UP,HR,UPE,GSM,S,PP,10,NA,0.2,2 P2P,P2P,MP,KT,AIR,UP,HR,UPE,GSM,S,PP,1,NA,0.2,0.2 P2P,P2P,MP,MM,AIR,UP,HR,UPE,GSM,S,PP,1,NA,0.2,0.2 Желаемый вывод должен быть следующим. AIR,5,1 AI,1,0.2 BIR,10,2 Здесь первое поле принадлежит $5 . Второе поле – до $12 (всего $12 ). И третье поле принадлежит $15 (всего $15 ). Условие должно выполняться в […]

Grep / awk для нескольких файлов для одного вывода

У меня есть несколько txt-файлов, содержащих данные, где я использую grep для поиска текущей строки текста и использую awk для фильтрации переменной, которая мне нужна. Строка повторяется через файл, поэтому я использую эту команду для извлечения нужной строки: grep 'text' *.txt | awk ' NR==1 {print $2 } ' > outputfile Проблема в том, что […]

Как заставить эту команду awk работать

Я хочу сделать команду ниже, но я не могу. Пожалуйста, проверьте это: echo "random string random string mark: abcde random string random string" | awk '{gensub(/^.*mark: (.{5,5}).*$/,"\\1","g"); print}' Я хочу, чтобы эта команда возвращала только «abcde». Но он всегда возвращает всю строку ввода. Зачем?

Сопоставьте все после обратной косой черты и перед пробелом

У меня есть строки, похожие на следующие: *unknown*\*unknown* (8) hello\morning (3) Я пытаюсь подобрать только morning или *unknown\* . До сих пор я пробовал: [^\\]+$ Но это соответствует от обратной косой черты до конца строки, чего я не хочу.

Interesting Posts

Как использовать call-by-reference для аргумента в функции bash

Java на FreeBSD

Полностью отключить поддержку мыши в QEMU

Как получить код выхода команд, запущенных find?

Тайм-аут услуги

Восстановить экран входа в монетный двор

сначала не обрабатывается первый параметр, если он не равен 1

Если символическая ссылка на NFS указывает на локальный диск, будет ли потерян локальный диск?

rsync очень медленный (фактор 8-10) по сравнению с cp при копировании файлов из nfs-share в локальный каталог

Как сообщить sendmail, что это localhost вместо того, чтобы использовать его полное доменное имя для борьбы со спамом?

Подсчет количества записей в столбце 2, где столбец 1 аналогичен

Переименование файлов дает странный результат в tcsh

симуляция режима systemd

Интерпретировать интерполированную переменную как литеральную строку в регулярном выражении Perl

SSH не прослушивает порт 443

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