Articles of sed

Заменить строку перед определенной строкой

У меня есть один файл, как: ID_SOUR_CALENDAR BIGINT NOT NULL DEFAULT 0 COMPRESS 0 , UNIQUE PRIMARY INDEX ( CALENDAR_DATE ); ID , ID_SOUR , PRIMARY INDEX ( CALENDAR_DATE ); Я хочу заменить ‘,’ на ‘)’ в строке непосредственно перед строкой, содержащей PRIMARY. Результат должен быть: ID_SOUR_CALENDAR BIGINT NOT NULL DEFAULT 0 COMPRESS 0 ) […]

Как изменить строку, в которой находится строка, с выходом другой программы, которой вы передаете эту строку в качестве аргумента?

$ cat sample.dmesg.log | sed -re ‘s/(READ block )([0-9]+)( on xvda3.*$)/\1\2\3 XXX/g’ [ 6031.953619] sysctl(20774): READ block 5285528 on xvda3 (32 sectors) XXX [ 6031.954317] sysctl(20774): READ block 5285768 on xvda3 (8 sectors) XXX [ 6031.954598] sysctl(20774): READ block 5285648 on xvda3 (120 sectors) XXX [ 6031.954617] sysctl(20774): READ block 5285776 on xvda3 (24 sectors) […]

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

У меня есть файл с разделителями трубы, как показано ниже. data.txt ESP|041336|46566|NY|CA ESP|041337|46566|NY|CA ESP|041338|46566|NY|CA ESP|041339|46566|NY|CA ESP|041340|46566|NY|CA ESP|041341|46566|NY|CA У меня есть другой файл со значениями во втором столбце, который должен быть удален. input.txt 041337 041338 041339 Я пытаюсь удалить строки, которые имеют значения из input.txt во втором столбце. Ожидаемый результат ESP|041336|46566|NY|CA ESP|041340|46566|NY|CA ESP|041341|46566|NY|CA Я пытаюсь использовать […]

Как переместить каждую группу строк в новый столбец?

Я хотел бы переместить каждую группу строк в столбцы таким образом. Входные данные: R1C1 R2C1 R3C1 R1C2 R2C2 R3C2 R1C3 R2C3 R3C3 Выход: R1C1 R1C2 R1C3 R2C1 R2C2 R2C3 R3C1 R3C2 R3C3 Я также добавляю фактический пример с некоторым номером ниже. Входные данные: 8.097e-10 7.099e-10 6.638e-10 6.395e-10 6.258e-10 6.180e-10 6.134e-10 6.108e-10 6.093e-10 Выход: 8.097e-10 6.395e-10 […]

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

Я хочу извлечь номер сообщения, которое мы получаем при выполнении команды mailx -H . Я хочу, чтобы номера сообщений были только непрочитанными и новыми. Я попытался с помощью следующей команды: mailx -H|grep ‘^ [UN]’|cut -c 3- Но он не дает требуемого вывода. Он выдает всю строку после U или N. Пример вывода команды mailx -H: […]

awk: разделить столбец, распечатать левую часть разделителя и вставить в середине csv

Входной файл: AAA, BBB:XXX, CCC, DDD, EEE, FFF, GGG, HHH Вывод должен быть: AAA, BBB, BBB:XXX, CCC, DDD, EEE, FFF, GGG, HHH Я думал о чем-то вроде: awk -F, ‘{n=split($2,a,”:”); a[n]} {$2=$NF”,”$2}1’ OFS=, Но первое «разделение» использует правую сторону разделителя вместо левой, а копия в конце копирует HHH вместо BBB.

Как удалить содержимое перед шаблоном в XML с помощью Unix

Source file example: (Файл XML создан в одну строку) ИЛИ ЖЕ Source file example: Мне нужно удалить все содержимое файла до в обоих исходных форматах. Я пытался использовать метод ниже sed ‘s/^.*b/b/’ Но это не заменит его. Пожалуйста, дайте мне знать, если есть альтернативный способ.

Отфильтровать 2-й вхождение текста между цитатами с помощью sed?

У меня есть grep-вывод файла, например, так: “name” “Andrew Spokes” Я хочу извлечь имя, передавая вывод grep через sed . Мой ожидаемый результат будет: Andrew Spokes Мне также нужно удалить все пробелы, которые не находятся между кавычками.

Как получить последние три последние даты файла журнала?

Как я могу напечатать последние три даты следующего выхода: User;month/day/year user1:01/01/2015 user1:01/01/2015 user1:01/01/2015 … user1:01/09/2018 user1:01/08/2018 user1:01/07/2018 user1:01/04/2016 user1:01/02/2016 user1:01/01/2016 В этом случае (даты 2018 года) РЕДАКТИРОВАТЬ: У меня есть следующая команда с awk: awk ‘{ print $1″:” substr( $0,285,291 )}’ $file_input | awk ‘{ print $1}’ | sort -n -r Желаемый результат: user1:01/09/2018 user1:01/08/2018 […]

Как удалить инверсные пары совпадений?

Я хочу удалить пары дубликатов / обратных совпадений из текстового файла. Например, файл содержит данные, подобные приведенным ниже: 10 |Name1 |20 |Name2 20 |Name2 |30 |Name3 20 |Name2 |10 |Name1 <– Inverse pair (compared to first line) to be removed from text file 40 |Name4 |30 |Name3 Я ожидаю вывод, как показано ниже: 10 |Name1 […]