Вопросы с меткой [sed]

"sed" ("потоковый редактор") - это утилита Unix, которая анализирует и преобразует текстовые файлы.

197
голосов
4ответа
269k показов

Как сопоставить пробел в sed?

Как я могу сопоставить пробелы в sed? В моих данных я хочу сопоставить все 3+ последующих пробельных символа (пробел) и заменить их на 2 пробела. Как это может быть сделано?
73
голоса
6ответов
83k показов

использование чередования "|" в регулярном выражении Седа

Я использую sed, GNU sed версия 4.2.1. Я хочу использовать чередование "|" символ в подвыражении. Например : echo "blia blib bou blf" | sed 's/bl\(ia|f\)//g' должен вернуться " blib bou " но ...
67
голосов
3ответа
70k показов

Как сопоставить цифры, сопровождаемые точкой, используя sed?

Я пытаюсь использовать sed чтобы заменить все шаблоны цифрами, за которыми сразу следует точка (например, 3. , 355.) пустой строкой. Итак, я стараюсь: sed 's/\d+\.//g' file.txt Но это не работает. ...
59
голосов
9ответов
22k показов

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

Мне нужно заменить текст внутри текстового файла с заменой. Обычно я хотел бы сделать что-то вроде sed -i 's/text/replacement/g' path/to/the/file Проблема в том, что и text и replacement представляют ...
52
голоса
9ответов
36k показов

Удаление цветовых кодов ANSI из текстового потока

Изучение выходных от perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";' в текстовом редакторе (например, vi) отображается следующее: ^[[37mABC ^[[0m Как можно ...
41
голос
7ответов
35k показов

Как массово добавить текст к именам файлов?

Допустим, у меня есть каталог, полный файлов .md названных по-разному. Допустим, я хотел добавить "текст" в начале каждого имени файла. Например, файлы a.md , b.md и c.md станут test - a.md , test - ...
37
голосов
5ответов
33k показов

Новые строки в sed на Mac OS X

Я обнаружил, что \n не работает в sed под Mac OS X. В частности, скажем, я хочу разбить слова, разделенные одним пробелом, на строки: # input foo bar Я использую, echo "foo bar" | sed 's/ /\n/' Но ...
32
голоса
8ответов
27k показов

sed: как заменить строку, если найдена, или добавить в конец файла, если не найдена?

С одним входным файлом, который содержит только комментарии (начиная с #) и строки VARIABLE = значение, возможно ли заменить значение для одной переменной, если оно найдено, и, в противном случае, ...
31
голос
12ответов
25k показов

Эффективно удалить последние две строки очень большого текстового файла

У меня очень большой файл (~ 400 ГБ), и мне нужно удалить из него последние 2 строки. Я пытался использовать sed , но он работал несколько часов, прежде чем я сдался. Есть ли быстрый способ сделать ...
31
голос
4ответа
35k показов

Как использовать sed для удаления нулевых байтов?

Что такое sed для удаления пустых байтов из файла? Я пытаюсь: s/\000//g но это убирает нули. s/\x00//g кажется, не имеет никакого эффекта. Я пытаюсь сделать это с помощью сценария sed , поэтому я не ...
23
голоса
3ответа
61k показов

Как использовать «сед» с трубопроводом

Я хочу заменить строку, выведенную из grep , у меня есть: $ npm info webpack | grep version это выводит меня $ version: '2.1.0-beta.12', но я хочу иметь: $ 2.1.0-beta.12 Так что я думаю, что могу ...
21
голос
6ответов
53k показов

Как получить pid запущенного процесса, используя одну команду, которая анализирует вывод ps?

Я ищу одну строку, которая возвращает pid запущенного процесса. В настоящее время у меня есть: ps -A -o pid,cmd|grep xxx|head -n 1 И это возвращает первый кулак pid, command . Мне нужно только первое ...
18
голосов
16ответов
46k показов

Выводить только имена устройств всех доступных сетевых интерфейсов

Я хочу получить список всех доступных имен сетевых устройств на моем сервере Linux. Я понял что ifconfig будет делать работу, однако ifconfig выдает довольно много: eth0 Link encap:Ethernet Hardware ...
16
голосов
2ответа
10k показов

Редактировать первую строку большого текстового файла

У меня огромный текстовый файл, слишком большой, чтобы все это помещалось в память. Все, что мне нужно сделать с этим текстовым файлом, это отредактировать первую строку (это файл CSV, и мне нужно ...
14
голосов
2ответа
16k показов

Правильно экранирование косой черты в bash-скрипте для использования с sed

Я пытаюсь определить размер файлов, которые будут скопированы при синхронизации двух папок, запустив rsync в сухом режиме, а затем суммируя размеры файлов, перечисленных в выводе rsync. В настоящее ...
14
голосов
3ответа
14k показов

Как я могу удалить U+200B (пространство нулевой ширины), используя sed

У меня есть очень большой файл, в котором разбросаны пробелы нулевой ширины. Открытие и редактирование с использованием vi занимает слишком много времени, поэтому я хотел бы удалить все экземпляры ...
14
голосов
3ответа
17k показов

Как я могу создать оглавление для документа уценки с помощью Python/AWK/SED?

У меня есть следующий документ по уценке: Heading-a ========== ---text--- Heading-b ------------ --- text --- Heading-c ---------- --- text--- Heading-d ======= --- text---- Heading-e --- ... Я хотел ...
13
голосов
4ответа
33k показов

Используя sed, получить подстроку между двумя двойными кавычками

У меня есть файл xyz... rsync: "/home/path/to/file": Permission denied (13) rsync: "/home/path/to/file1": Permission denied (13) rsync: "/home/path/to/file2": Permission denied (13) rsync: ...
13
голосов
4ответа
1k показов

Как рекурсивно заменить символы на sed?

Можно ли заменить вхождения последовательности символов рекурсивно, не повторяя ту же последовательность снова? Выполняя sed как в следующих сценариях, я могу получить упомянутый результат. $ echo XX ...
12
голосов
2ответа
59k показов

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

Я читаю много документации на sed, и все еще нахожусь в тупике на моем конкретном случае использования. Я хочу заменить эту строку в файле conf моей собственной строкой: Заменить эту строку: ...
12
голосов
3ответа
4k показов

Cygwin bash sed блокирует мои файлы

Когда я изменяю файлы в cygwin bash с помощью команды sed, файл блокируется. Воспроизводить: Откройте cmd и cd для непользовательского каталога (например, temp) echo aaa > test.txt Откройте в ...
12
голосов
2ответа
14k показов

Поиск и удаление строк из всех файлов рекурсивно

Мне удалось найти вхождения ключевого слова, используя grep "KeyWord" . -r -n -i -I но вхождения KeyWord слишком велики. Я просто хочу удалить все строки, содержащие это слово. Я искал вокруг, sed ...
12
голосов
4ответа
17k показов

Лучший способ сделать "echo $ x | sed ..." и "echo $ x | grep ..."

Я часто нахожу это в сценариях (и, должен признать, сам это пишу): a=$(echo "$x" | sed "s/foo/bar/") или же if echo "$x" | grep -q foo then ... fi Рассмотрим "foo", чтобы включить некоторые ...
11
голосов
1ответ
3k показов

Использование sed для включения файлов .htaccess в конфигурации Apache

Я пытаюсь автоматизировать настройку Ubuntu Vagrant с помощью скрипта Bash. Все хорошо, но у меня возникают трудности с настройкой Apache для разрешения переопределений из файлов .htaccess . В моем ...
11
голосов
1ответ
1k показов

Замена [0-9] на [AJ] не работает с sed

Я работаю над командой, которая заменяет все цифры 0-9 на соответствующие им буквы в sed. Я знаю, что делаю что-то не так, но sed не интерпретирует заменяющее регулярное выражение как что-либо, кроме ...
10
голосов
1ответ
4k показов

Может ли GNU sed (для Windows) обрабатывать Unicode? Если это так, это проблема с кодовой страницей / языком или переключателем?

Я использую GNU SED и выключаю уже пару лет. Иногда это немного раскручивает меня, но делает хорошую работу ... для однобайтовых наборов символов! Время от времени я замечаю ссылки на GNU SED, ...
9
голосов
2ответа
24k показов

заменить n-й вхождение строки в каждой строке текстового файла

У меня есть большие текстовые файлы с разделителями пробелами (2-5). Строки могут содержать «» или «-». Я хотел бы заменить, скажем, второе пространство на трубу. Какой лучший путь? Используя sed, я ...
9
голосов
3ответа
19k показов

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

Как удалить первый известный символ в строке с помощью sed? Например, я хочу удалить первый символ (который является @) в строке "@ ABCDEFG1234" Я хочу, чтобы sed проверял, существует ли «@» в ...
9
голосов
1ответ
14k показов

Что делает опция `-n` в sed?

Это справочная страница для -n: -n подавить автоматическую печать пространства шаблона Я заметил, что когда не используется -n для определенных операций, каждая строка печатается в стандартный вывод ...
9
голосов
2ответа
10k показов

Многократный поиск и замена действий в одном большом текстовом файле

У меня большой текстовый файл (около 2 ГБ). Я хочу выполнить пять операций поиска и замены одного и того же файла и хотел бы сделать это одной командой. Обычно я использую vim, открываю файл, ...
8
голосов
1ответ
3k показов

Где Macports устанавливает GNU sed при установке порта coreutils?

Где Macports устанавливает GNU sed при установке порта coreutils? Я хочу использовать GNU sed вместо BSD sed в Mac OS X.
8
голосов
1ответ
2k показов

Как заставить sed опускать не совпадающие строки?

В следующем примере sed сопоставляет строки, начинающиеся с a или a c и печатает первый символ этой строки (a или c): $ echo "ag bh ci dj ek fl" | sed 's/\(a\|c\)./\1/' # Matches lines starting with ...
7
голосов
4ответа
45k показов

Вывести строку X строк до / после найденной строки

Я хочу найти определенную строку в определенном файле. Если я нашел строку, я также хочу напечатать строки X строк до (или после) этой строки. Можно это с помощью grep или awk, или мне нужна ...
7
голосов
3ответа
10k показов

Как кошка / распечатать файл, кроме последних 2 строк?

Как получить файл, кроме последних (например) 2 строк, стандартными инструментами или инструментами оболочки GNU? (удар, хвост, кошка и т. д.)
7
голосов
6ответов
1k показов

Присоединение текстовых файлов с 600M+ строк

У меня есть два файла, huge.txt и small.txt . Текст . huge.txt имеет около 600 миллионов строк и 14 ГБ. В каждой строке есть четыре слова (токены), разделенные пробелами, и, наконец, еще один столбец ...
7
голосов
4ответа
645 показов

Использование sed для извлечения части строки

У меня есть команда Git SVN, как это: git svn log --limit=1 --oneline Он выведет oneline следующим образом: r12345 | Я пытаюсь передать команду sed, чтобы получить только 12345 , но не могу заставить ...
7
голосов
5ответов
13k показов

Как напечатать последний символ файла

В Unix, используя простую команду вроде sed, есть ли способ напечатать последний символ файла?
7
голосов
2ответа
19k показов

Многострочный Sed Replace

Рассмотрим следующий текст (кстати, часть дампа MySQL): CREATE TABLE `table` ( `id` int(10) NOT NULL auto_increment, `name` varchar(100) NOT NULL default '', `description` text NOT NULL, PRIMARY KEY ...
7
голосов
3ответа
5k показов

Преобразование файла CSV с помощью sed

Чтобы иметь возможность импортировать некоторые данные в определенный инструмент, мне нужно преобразовать файл CSV из этого формата. "data","data","data data","data","123" в этот формат ...
7
голосов
2ответа
10k показов

sed, вставьте файл перед последней строкой

Следующий метод вставки файла для sed работал, даже до последней строки, но не больше. Это ошибка в текущем sed? Демонстрация вставки файлового метода с помощью sed: mkdir /tmp/test printf '%s\n' ...
7
голосов
2ответа
19k показов

используйте sed для замены nbsp, 160, Hex 00a0, Octal 240, неразрывный пробел

У меня проблемы с файлами конфигурации, в которых есть неразрывные пробелы . Как мне указать этот символ с помощью sed, чтобы я мог заменить его пробелом. sed -n 's/ / /g' примеры ошибок service ...
7
голосов
4ответа
6k показов

SQL как группировка и сумма для текстовых файлов в командной строке?

У меня огромные текстовые файлы с двумя полями, первое - строка, второе - целое число. Файлы отсортированы по первому полю. То, что я хотел бы получить в выводе, это одна строка на уникальную строку ...
7
голосов
3ответа
6k показов

Как добавить в первую строку файла?

Как вы можете использовать sed, чтобы заменить всю первую строку файла этой первой строкой плюс некоторый дополнительный текст? Например, как я могу добавить -foo к файлу, который содержит только ...
6
голосов
2ответа
6k показов

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

Например, sed 's/string/ /g' where string="a\c:ti]\']x""/\//:`~$%#^&"' То есть, как передать строку в sed буквально, а не как интерпретируемый шаблон регулярных выражений? Я собираюсь использовать ...
6
голосов
1ответ
4k показов

Сед странность, не имеет себе равных {

Я пытаюсь использовать команду r (read, чтобы добавить содержимое data2 к данным. Я хочу добавить содержимое после строки, содержащей «два». Я хочу удалить строку, содержащую «два». Но я врезался в ...
6
голосов
4ответа
8k показов

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

Я надеялся на способ заставить sed заменить всю строку заменой (а не просто соответствием), чтобы я мог сделать что-то вроде этого: sed -e "/$some_complex_regex_with_a_backref/\1/" и пусть он ...
6
голосов
1ответ
33k показов

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

Я использую это как str_replace для каждого файла в папке после разархивирования архива во временной папке find "$tmp" -type f | xargs sed -i "s/${targetsubstring}/${newsubstring}/g" но я получаю эту ...
6
голосов
5ответов
8k показов

Использование sed для удаления цифр и пробелов из строки

Я пытаюсь удалить первое вхождение цифры (й), точку, второе вхождение цифры (ей) и пробел перед словом. Я придумал это регулярное выражение: sed 's/^[0-9]\+.[0-9]\+\s//' input.txt > output.txt ...
5
голосов
3ответа
2k показов

Я правильно использую sed для выполнения этой условной замены? Есть ли способ лучше?

У меня есть файл, разделенный пробелами, длиной около 3200 строк. Каждая строка содержит более 7 полей. Я хотел бы отредактировать файл с помощью sed чтобы в каждой строке, содержащей определенную ...
5
голосов
2ответа
5k показов

Насколько жадный сед в соответствующих шаблонах?

Я знаю, что sed жаден при сопоставлении шаблонов. Но насколько он жадный? Рассмотрим эти примеры. $ echo 'foobar123' | sed 's/[0-9]*/(&)/' ()foobar123 $ echo 'foobar123' | sed 's/[0-9][0-9]*/(&)/' ...