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

32
Удалить первые n байтов файлов

У меня экстремальная проблема, и все решения, которые я могу себе представить, сложны. Согласно моему опыту работы с UNIX / Linux, должен быть легкий путь. Я хочу удалить первые 31 байт каждого файла в /foo/. Каждый файл достаточно длинный. Ну, я уверен, что кто-нибудь предложит мне удивительно...

31
sed - как сделать несколько последовательных замен, но обработать файл только один раз?

Если я делаю несколько замен, которые должны быть последовательными, например sed -i '/^[[:space:]]*browser.*\.should/s/browser/expect(browser/' t1_spec.rb sed -i '/expect(browser.*\.should/s/\.should/).should/' t1_spec.rb sed -i 's/\.should/\.to/' t1_spec.rb sed -i 's/==/eq/' t1_spec.rb Есть ли...

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

Как заменить только последнее вхождение "-" в строке пробелом sed? Например: echo $MASTER_DISK_RELEASE swp-RedHat-Linux-OS-5.5.0.0-03 но я хочу получить следующий вывод (заменив последний дефис [«-«] пробелом) swp-RedHat-Linux-OS-5.5.0.0 03...

31
Как удалить первые n строк и последнюю строку файла с помощью команд оболочки?

У меня есть файл с именем, Element_queryсодержащим результат запроса: SQL> select count (*) from element; [Output of the query which I want to keep in my file] SQL> spool off; Я хочу удалить 1-ю строку и последнюю строку с помощью команды...

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

Мне нужна помощь, чтобы понять, как использовать команду sed, чтобы отображать только первый и последний столбцы в текстовом файле. Вот то, что я пока имею для колонки 1: cat logfile | sed 's/\|/ /'|awk '{print $1}' Моя слабая попытка получить последний столбец, чтобы показать, была: cat logfile |...

29
Использование sed для окраски вывода команды на солярисе

У меня есть скрипт ksh, который должен работать как на Linux, так и на Solaris. Я пытаюсь раскрасить вывод определенных команд. Он работает на Linux (в частности, RHEL6), но не на Solaris (SunOS 5.10). Команда на Linux (вывод «test» правильно окрашен красным): [amartin@linuxbox:~]$ echo "test" |...

29
Как убрать строки короче XY?

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

29
Как я могу записать во вторую строку файла из командной строки?

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

28
Удалить диапазон линий над шаблоном с помощью sed (или awk)

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

28
Как добавить возврат каретки перед каждым переводом строки?

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

28
Чередование регулярных выражений / или оператор (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 $ echo...

28
Что делает sed -i '1d'?

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

28
Как «grep» для длины линии в заданном диапазоне?

ПРИМЕЧАНИЕ: этот вопрос является дополнением к этим вопросам и ответам: как "grep" для длины строки * не * в данном диапазоне? Мне нужно получить только строки из текстового файла (словаря, разделенного новой строкой), который имеет диапазон длин не менее 3 символов, но не более 10. Пример: ВХОД:...

27
Хотите заменить только первый случай с помощью sed

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

27
найти & sed (поиск и замена)

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

27
Как заменить левую скобку на sed?

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

27
Как выбрать первое вхождение между двумя образцами, включая их

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

27
Должен быть лучший способ заменить только отдельные символы новой строки?

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

27
группы захвата sed не работают

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