sed для замены клавишей Backspace

У Вас есть несколько проблем, в первую очередь, python 2.4, не поддерживаемый больше недавним (версии) библиотеки.

Необходимо овладеть virtualenv 1.7.2 (так как 1.8 отбросил поддержку 2,4),

Я не уверен, можно ли сделать переход от 2,4 до 3,3 без проблем, для фактического кода, с которым Вы работаете (не сторонний материал) будет нужна адаптация. Я, по крайней мере, рассмотрел бы для создания промежуточного шага из использования Python 2.7. Это совместимо с 2,4 и имеет многие из этих 3,3 функций, а также более совместимого (с 3,3) стандартная библиотека.

Пакет шесть мог бы быть полезным в дополнение к 2to3 инструмент, который идет с Python.

2
06.02.2015, 16:47
6 ответов

Я не думаю, что вы можете использовать подход Backspace - однако вы можете сделать что-то вроде

sed -e :a -e '$!N;s/\n+/ /;ta' -e 'P;D' trail.txt

, см. Известный САД Одноищеры объяснили, Часть I: Интернет-интервал, нумерация и Преобразование текста и замещение , 40. Добавьте линию на предыдущую, если она начинается с равного знака «=» (с очевидной заменой + для = ).

2
27.01.2020, 21:56

FWIW, GNU awk

awk -vRS='\\n\\+?' '{ORS=RT == "\n+"? "":RT; print}' trail.txt
data net06706 net06707 net221 net222 net223
m1 net10 rwl vdda vss nch l="l1pg+0.005u" w=w1pg+0.105u
m0 vdda rwld net10 vss nch l="l1pg+0.005u" w=w1pg+0.105u
2
27.01.2020, 21:56

Использование Perl вместо SED:

perl -ne 'chomp; print "\n" unless s/^\+// or 1 == $.; print }{ print "\n"'

Chomp удаляет новую строку. $. - номер входной линии.

0
27.01.2020, 21:56

Пара идей, так как это будет немного сложно с SED:

perl -00 -pe 's/\n\+\s*/ /g' file
awk '
    {
        if (/^\+/) 
            sub(/^\+[[:blank:]]*/, " ", $0)
        else 
            if (NR > 1) print ""
        printf "%s", $0
    } 
    END {print ""}
' file 
2
27.01.2020, 21:56

GNU SED позволяет не использовать Perl для такой простой задачи:

sed -z 's/\n+//g' trail.txt
0
27.01.2020, 21:56
sed  's/.$//'

sed  's/.$//g'

Это должно работать. Работал на меня

-1
27.01.2020, 21:56

Теги

Похожие вопросы