Запитання з тегом «sed»

sed - редактор потоку командного рядка для фільтрації та перетворення тексту.

6
Як видалити лінії, коротші за XY?
Я знайшов питання про те, як видалити рядки довше 2048 знаків: Як видалити рядок, якщо довше XY? Питання: Але як я можу видалити рядки, менші за 4 символи? Тому видаліть рядки, що мають у файлі 1 або 2 або 3 довжини. ОНОВЛЕННЯ: Дякую за багато хороших відповідей, але я можу …

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

3
Використання sed для кольорового виводу з команди на solaris
У мене є ksh-скрипт, який повинен працювати як на Linux, так і на solaris. Я намагаюся розфарбувати вихід певних команд. Він працює на linux (конкретно RHEL6), але не на solaris (SunOS 5.10). Команда на linux (вихідний "тест" правильно пофарбований у червоний колір): [amartin@linuxbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' test Команда …

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

3
Що робить sed -i '1d'?
Я розумію, що sedце команда маніпулювати текстовим файлом. З мого Googling, мабуть, -iозначає, що виконайте операцію над самим файлом, чи правильно це? Про що '1d'?
28 sed 

4
Як "грепнути" на довжину рядка в заданому діапазоні?
ПРИМІТКА: Це питання є доповненням до цього питання: Як "грепати" довжину рядка * не * у заданому діапазоні? Мені потрібно отримати лише рядки з текстового файлу (списку слів, розділеного новим рядком), що має діапазон довжини мінімум або рівний 3 символам, але не довший або рівний 10. Приклад: ВХОД: egyezményét megkíván …
28 bash  sed  grep  perl 


5
Видалити діапазон рядків вище шаблону за допомогою sed (або awk)
У мене є такий код, який видалить рядки з малюнком bananaта 2 рядки після нього: sed '/banana/I,+2 d' file Все йде нормально! Але мені це потрібно, щоб вилучити два рядки раніше 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 …

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 

1
знайти & sed (пошук і заміна)
Я використовую таку команду на своєму mac: $find . -name “*.java” -exec sed -i ’s/foo/bar/g’ {} \; і, здається, це не має ніякого ефекту. У мене в каталозі є два файли, які закінчуються на .java, в яких обоє містять текст foo. Я щось пропускаю? EDIT: Результати запиту коментарів [aafghani-03:~/test amirafghani]$ …
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 

8
Як відобразити зворотну відповідність та виключити рядки "до" та "після"
Розглянемо текстовий файл із такими записами: aaa bbb ccc ddd eee fff ggg hhh iii З огляду на шаблон (наприклад fff), я хотів би отримати файл вище, щоб отримати у висновку: all_lines except (pattern_matching_lines U (B lines_before) U (A lines_after)) Наприклад, якщо B = 2і A = 1, вихід з …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.