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

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

2
Чому sed за умовчанням не використовує розширений режим регулярного вираження?
Я використовую sed. Я використовував регулярний вираз, наскільки я міг бачити, але sed нічого не робив. Виявляється, я використовував \s+який sed не може зрозуміти, і коли я перейшов на [ ]+нього, працював. Отже, підсумовуючи, я зробив регулярний вираз, який для його роботи повинен був уникнути майже всього і видалити \sпробіл. …


6
Як отримати декілька рядків з файлу за допомогою регулярного вираження?
Як отримати декілька рядків з файлу за допомогою регулярного вираження? Я часто хотів би отримати кілька рядків / змінити кілька рядків за допомогою регулярного вираження. Приклад: Я намагаюся прочитати частину XML / SGML-файлу (вони не обов'язково добре сформовані або в передбачуваному синтаксисі, тому регулярний вираз був би безпечнішим, ніж правильний …
10 shell  sed  grep 

3
Як видалити порожні рядки, починаючи з 5-го рядка
У мене це: sed -i '/^$/d' temp_spec.rb яка знімає порожні рядки і працює добре. Як я можу зробити це лише для рядків 5-999 (або в ідеалі 5 до кінця файлу). Я намагався: sed -n5,999 -i '/^$/d' temp_spec.rb sed '5,999!d/^$/d' temp_spec.rb але не працювало (помилок немає).
10 sed 

4
Як мені написати однолінійку sed, щоб додати символ після кожного третього символу?
Отже, у мене є рядок, який виглядає приблизно так: AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA І я хочу розділити рядок на 3-символьні шматки, розмежовані знаком "+". AUG+GCC+AUG+GCG+CCC+AGA+ACU+GAG+AUC+AAU+AGU+ACC+CGU+AUU+AAC+GGG+UGA І я хочу це зробити зі своїм добрим другом sed. я намагався cat codons | sed -r 's/([A-Z]\{3\})/\1\+/g' ... без успіху. Яку sedкоманду можна використовувати?

3
Використання тут-doc для `sed` та файлу
Я хочу використовувати тут-doc для команд sed і надавати файл для читання та вихідний файл. Я переглянув тут Документи з посібника з розширеного сценарію Bash, але в ньому нічого не згадується про регулярні аргументи при використанні тут-doc. Чи можливо це навіть? Я хотів би досягти чогось такого: #!/bin/bash OUT=/tmp/outfile.txt IN=/my_in_file.txt …

5
Sed: Замініть візерунок на кожному другому новому рядку?
Чи є спосіб сказати sedзамінити візерунок на кожен другий випадок? Або хоча б на кожному другому рядку? (Звичайно, це можливо зі сценарієм, але я запитав себе, чи sedможна це зробити). Редагувати я знайшов sed -e "s/pattern/replacement/g;n" Але воно замінювало кожне перше виникнення, а не друге. Приклад Вхідний файл: I have …
10 sed  replace 

4
Видаліть файли старше 5 днів в UNIX (дата в назві файлу, а не часова мітка)
Я хочу видалити з каталогу файли журналів, старші 5 днів. Але видалення не повинно базуватися на часовій марці файлу. Він повинен базуватися на назві файлу. Наприклад сьогоднішньої дата 07/05/2012 і каталог містить 10 файлів імен , такі як ABC_20120430.log, ABC_20120429.log, ABC_20120502.log, і ABC_20120320.logт.д. Я хочу , щоб мати можливість видалити …
10 bash  sed  rm 

3
Підстановка рядків у дуже великий файл
У мене дуже довга серія URL-адрес без роздільного символу, у тому ж форматі, що нижче: http://example.comhttp://example.nethttp://example.orghttp://etc... Я хочу, щоб кожна URL-адреса була в новому рядку. Я спробував це зробити, замінивши всі екземпляри "http: //" на "\ nhttp: //" за допомогою sed sed 's_http://_\nhttp://_g' urls.txt але відбувається помилка сегментації (порушення пам’яті). …


4
Додавання рядка тексту до кількох файлів
Отже, у мене є маса файлів у каталозі, і мені потрібно вставити рядок тексту у кожну з них. Вони по суті мають такий формат: <VirtualHost *:80> ServerAdmin gabe@localhost DocumentRoot /var/www/test1 ServerName test1.local ServerAlias test1 <Directory "/var/www/test1"> Options All AllowOverride All </Directory> </VirtualHost> І я хотів би вставити рядок перед закриттям …


5
Видаліть провідну рядок у bash
У мене є такий рядок, rev00000010і я хочу лише останнє число, 10 в цьому випадку. Я спробував це: TEST='rev00000010' echo "$TEST" | sed '/^[[:alpha:]][0]*/d' echo "$TEST" | sed '/^rev[0]*/d' обидва не повертають нічого, хоча, здається, регулярний вираз є правильним (спробували з regexr )

3
Замініть рядок послідовним індексом
Чи може хтось запропонувати елегантний спосіб досягти цього? Вхід: test instant () test instant () ... test instant () //total 1000 lines Вихід повинен бути: test instant1 () test instant2 () test instant1000() Порожні рядки є у моїх вхідних файлах, і в одному каталозі є багато файлів, які мені потрібно …

2
Основна команда sed у великому однорядковому файлі: не вдалося перерозподілити пам'ять
У мене текстовий файл розміром 250 Мб, все в одному рядку. У цьому файлі я хочу замінити aсимволи bсимволами: sed -e "s/a/b/g" < one-line-250-mb.txt Не вдається: sed: couldn't re-allocate memory Мені здається, що подібне завдання можна було б виконувати вбудованому, не виділяючи багато пам'яті. Чи є кращий інструмент для роботи …

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