Вопросы с тегом «sed»

sed - это редактор потоков командной строки для фильтрации и преобразования текста.

6
Как убрать строки короче XY?
Я нашел вопрос о том, как удалить строки длиннее 2048 символов: Как удалить строку, если она длиннее XY? Q: Но как я могу удалить строки короче 4 символов? Так что удалите строки, которые имеют 1 или 2 или 3 длины в файле. ОБНОВЛЕНИЕ: Спасибо за много хороших ответов, но я …

12
Как я могу записать во вторую строку файла из командной строки?
У меня есть внешняя программа, которая производит выходной файл (большой, 20K строк возможно). Мне нужно вставить новую строку между существующей строкой 1 и строкой 2. Я смотрел на awk и sed - я использую по одному вкладышу в каждом довольно регулярно - но я не смог найти правильные переключатели для …

3
Использование sed для окраски вывода команды на солярисе
У меня есть скрипт ksh, который должен работать как на Linux, так и на Solaris. Я пытаюсь раскрасить вывод определенных команд. Он работает на Linux (в частности, RHEL6), но не на Solaris (SunOS 5.10). Команда на Linux (вывод «test» правильно окрашен красным): [amartin@linuxbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' test Команда …

6
Как добавить возврат каретки перед каждым переводом строки?
У меня есть файл, который используется только \nдля новых строк, но мне нужно, чтобы он был \r\nдля каждой новой строки. Как я могу это сделать? Например, я решил это с помощью Vim :%s/\n/\r\n/g, но я хотел бы использовать скрипт или приложение командной строки. Какие-либо предложения? Я попытался найти это с …
28 sed  grep  newlines 

3
Что делает sed -i '1d'?
Я понимаю, что sedэто команда для работы с текстовым файлом. Из моего Google, кажется, -iозначает выполнить операцию над самим файлом, это правильно? Как насчет '1d'?
28 sed 

4
Как «grep» для длины линии в заданном диапазоне?
ПРИМЕЧАНИЕ: этот вопрос является дополнением к этим вопросам и ответам: как "grep" для длины строки * не * в данном диапазоне? Мне нужно получить только строки из текстового файла (словаря, разделенного новой строкой), который имеет диапазон длин не менее 3 символов, но не более 10. Пример: ВХОД: egyezményét megkíván ki …
28 bash  sed  grep  perl 


5
Удалить диапазон линий над шаблоном с помощью sed (или awk)
У меня есть следующий код, который удалит строки с шаблоном bananaи 2 строки после него: sed '/banana/I,+2 d' file Все идет нормально! Но мне нужно, чтобы он убрал 2 строки раньше banana , но я не могу получить его со знаком «минус» или чем-то еще (похоже на то, что grep …

5
Чередование регулярных выражений / или оператор (foo | bar) в GNU или BSD Sed
Я не могу заставить его работать. Документация GNU sed говорит, что нужно убежать из трубы, но это не работает, равно как и использование прямой трубы без выхода. Добавление паренов не имеет значения. $ echo 'cat dog pear banana cat dog' | sed 's/cat|dog/Bear/g' cat dog pear banana cat dog $ …

11
Должен быть лучший способ заменить только отдельные символы новой строки?
У меня есть привычка писать по одной строке на предложение, потому что я обычно компилирую вещи в LaTex или пишу в каком-то другом формате, где разрывы строк игнорируются. Я использую пустую строку, чтобы указать начало нового абзаца. Теперь у меня есть файл, написанный в этом стиле, который я хотел бы …

7
Как выбрать первое вхождение между двумя образцами, включая их
Как я могу выбрать первое вхождение между двумя образцами, включая их. Предпочтительно с помощью sedили awk. Я имею: text something P1 something content1 content2 something P2 something text something P1 something content3 content4 something P2 something text Я хочу, чтобы первое вхождение линий между P1 и P2 (включая линию P1 …

1
Как заменить левую скобку на sed?
Я должен заменить (какой-то символ в моем файле, и я не могу этого сделать. \(используется для группировки в sed, а когда я использовал \\(sed, он рассматривал его как \(символ, а не просто (. Это кажется сложным делом для меня.
27 sed 

9
Хотите заменить только первый случай с помощью sed
Исходный файл claudio antonio claudio michele Я хочу изменить только первое вхождение "Клаудио" с "Клаудия", чтобы файл результата claudia antonio claudio michele я пытался sed -e '1,/claudio/s/claudio/claudia/' nomi Но выполнить глобальную замену. Почему?
27 sed 

1
найти & sed (поиск и замена)
Я использую следующую команду на моем Mac: $find . -name “*.java” -exec sed -i ’s/foo/bar/g’ {} \; и это, кажется, не имеет никакого эффекта. У меня есть два файла в каталоге, которые заканчиваются на .java, и оба имеют текст foo. Я что-то пропустил? РЕДАКТИРОВАТЬ: Результаты запроса комментариев [aafghani-03:~/test amirafghani]$ find …
27 find  sed  osx 

3
группы захвата sed не работают
У меня есть строка в формате [0-9]+\.[0-9]+\.[0-9]. Мне нужно извлечь первое, второе и третье числа отдельно. Насколько я понимаю, группы захвата должны быть способны на это. Я должен быть в состоянии использовать, sed "s/\([0-9]*\)/\1/gчтобы получить первый номер, sed "s/\([0-9]*\)/\2/gполучить второй номер и sed "s/\([0-9]*\)/\3/gполучить третий номер. В каждом случае, однако, …
27 sed 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.