Описание тега gnu-sed

Используйте этот тег для вопросов, относящихся к GNU-версии редактора потока sed. Обратите внимание, что вопросы должны касаться не общего (интерактивного) использования GNU sed, а программирования с использованием GNU sed. Для вопросов по sed, не относящихся к GNU sed, используйте тег "sed".
1 ответ

Получение строк, отформатированных как записи CSV, и преобразование в них с помощью sed

Когда я пытаюсь что-то получить, я получаю: 09:00:02.052(0.0000<-0.0001<-0.0002) 15:04:07.225(75.8901<-78.1234<-79.4567) 16:08:11.463(100.0000<-100.0000<-100.0000) значения в () являются процентными, поэтому всегда лежат в [0, 100]…
25 окт '18 в 16:03
2 ответа

Как я могу преобразовать строки в угловых скобках в верхний регистр в MacOS?

Я работаю в MacOS 10.12 и у меня есть 100 файлов, таких как этот: My file &lt;structure_is&gt; like this &lt;and_maybe_like&gt; this, but not quite like this. But there might be &lt;stuff&gt; like this, too. Я пытался преобразовать все элементы в <>…
25 авг '17 в 15:02
4 ответа

sed: добавление новой строки после определенного количества пробелов, а не символов

Я хочу добавить новую строку в мой текстовый файл после 48 пробелов. Это текстовая строка 151 150 147 155 148 133 111 140 170 174 182 154 153 164 173 178 185 185 189 187 186 193 194 185 183 186 180 173 166 161 147 133 172 151 114 161 161 146 131 104…
14 апр '17 в 12:40
1 ответ

GNU sed, ^ и $ с | когда первый / последний символ совпадает

При выполнении замены, которая включает в себя что-то вроде ^|. в REGEXP sed не совпадает с пустой строкой в ​​начале пространства шаблона, если первый символ совпадает. Это также не соответствует концу, если последний символ соответствует. Это поче…
01 окт '16 в 15:27
4 ответа

GNU sed указывает конечную позицию при добавлении текста

Я хочу сделать две вещи sed при сопоставлении с шаблоном: Заменить шаблон на строку Добавить еще одну строку после этой строки Например, исходный контент в текстовом файле: abc 123 edf Я хочу заменить 123 в XXX и добавить YYY после строки: abc XXX Y…
31 дек '15 в 06:43
1 ответ

Замените одну группу захвата на другую с помощью GNU sed (macOS) 4.4

Я просмотрел некоторые второстепенные вопросы и не смог найти решение своей проблемы, поэтому извините, если это дубликат того, что я пропустил. По сути, у меня есть следующая команда GNU sed: sed -E -imr 's/^(\w)+/(\w)+$/g' file который должен заме…
01 июл '17 в 21:02
4 ответа

Sed дает: sed: не может прочитать: нет такого файла или каталога

У меня есть следующее bash скрипт, который повторяется для каждого найденного изображения. Он должен перебирать все файлы html, css и js и заменять все вхождения изображения в этом файле. for image in app/www/images-theme-dark/*.png do echo "install…
02 апр '17 в 18:01
2 ответа

sed добавить текст после N-го вхождения

У меня есть шаблон следующего скрипта, и мне нужно вставить разные PARAM значение для каждого случая. case $1 in 1) export PARAM= ;; 2) export PARAM= ;; 3) export PARAM= ;; esac Я просто нашел пример, как вставить значение для 1-го случая PARAM: sed…
15 мар '17 в 12:31
3 ответа

Команда Sed не распознает апострофы

В моем скрипте bash я пытаюсь заменить все апострофы (') двумя апострофами ('') в файле csv, чтобы зафиксировать его в базе данных postgres. Как вы знаете, все одинарные кавычки в запросе postgres должны быть отделены апострофом. Я не могу использов…
18 фев '16 в 15:21
1 ответ

Почему "sed -n -i" удаляет существующее содержимое файла?

Запуск Fedora 25 серверной версии. sed --version дает мне sed (GNU sed) 4.2.2 наряду с обычным авторским правом и контактной информацией. Я создал текстовый файл sudo vi ./potential_sed_bug, Vi показывает содержимое этого файла (с :set list включен)…
07 мар '17 в 01:14
1 ответ

Как я могу добавить пространство удержаний из пространства шаблонов, не вставляя новую строку в пространство удержаний с помощью sed?

Команда sed 'H' добавляется из patternspace в holdspace после добавления новой строки в holdspace первым. Как я могу добавить, не вставляя новую строку в удерживающее пространство?
12 июн '18 в 06:34
2 ответа

Какие символы в сочетании с ^ не нужно экранировать в sed?

Я проверил это ^* а также ^&amp; линии соответствия начинаются с * а также &amp;что я не сделал, так как они являются специальными персонажами. Но ^[ не работает Это "стандартное" поведение? Есть ли какое-либо объяснение этому? sed использовалась ве…
21 авг '18 в 08:14
3 ответа

sed: запомни захват во втором выражении

Я пытаюсь найти вхождение захваченного паттерна и перенести следующую строку с захваченным паттерном. Например: ... [line 10] #---------- SOLID: tank_phys.0 [line 11] Shape { ... [line 22] #---------- SOLID: head_phys.0 [line 23] Shape { ... ожидаем…
27 мар '18 в 03:54
0 ответов

Удалите последнюю пустую строку из текстового файла, содержащего абзацы, используя GNU SED v4.2.1 на платформе Windows 7

У меня есть много текстовых файлов, которые содержат блоки текста, разделенные пустыми строками, и мне нужно удалить только самый последний CR-LF в файле, удалив последнюю пустую строку. В качестве примера файлы имеют следующую форму: qwerty asdfgh …
09 мар '19 в 15:07
1 ответ

Что на самом деле делает оператор диапазона в "sed", он сломан в GNU/busybox?

Интересно, могут ли реализации "sed" в GNU и BusyBox быть сломаны? Моя стандартная реализация sed - из GNU. POSIX говорит: Команда редактирования с двумя адресами должна выбрать включающий диапазон из первого пространства шаблона, которое соответств…
27 мар '19 в 00:49
1 ответ

Как завершить команду `i` в GNU sed?

Я пытаюсь использовать sed сделать несколько замен и вставок входной строки. Однако недавно я заметил, что команда вставки i не заканчивается на ; как другие, и вместо этого печатает остальную часть строки. $ sed "s/^foo/bar/; 1i foo foo foo; s/foo$…
28 июн '19 в 13:04
2 ответа

Почему вкладка не будет вставлена ​​в первую добавленную строку?

Я пытаюсь добавить несколько строк в файл, все с ведущей вкладкой. Строки должны быть вставлены в первую строку после сопоставления строки. Предположим, что файл содержит только одну строку и называется "my-file.txt" следующим образом: foo Я попробо…
17 авг '19 в 14:58
1 ответ

Выходной файл пуст для скрипта Bash, который "находит" с помощью GNU sed (gsed)

У меня много файлов, каждый в каталоге. Мой скрипт должен: Найти строку в файле. Допустим, файл называется "результаты", а строка "средняя". Затем добавьте все остальное в строке строки в другой файл с именем "allResults". После запуска скрипта файл…
24 июл '19 в 18:52
1 ответ

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

Используя GNU sed (с -r флаг для ясности) следующие две замены во входной строке ab дают тот же результат: s/(.)(.)|(.)(.)$/\2\1\3\4/ а также s/(.)(.)$|(.)(.)/\1\2\4\3/ оба дают ba. Казалось бы, альтернатива(.)(.) (тот без $) успешно выполняет обе з…
10 янв '20 в 17:36
5 ответов

найти и заменить несколько строк строки с помощью sed

У меня есть входной файл, содержащий следующие числа -45.0005 -43.0022 -41.002 . . . У меня есть целевой txt файл line:12 Angle=30 line:42 Angle=60 line:72 Angle=90 . . . Используя sed, я хочу заменить первый экземпляр записи Angle в целевом файле п…
03 июл '20 в 15:37