Как применить sed, если он содержит одну строку, но не другую?

Я нашел веб-страницу, где управляющим символам дано печатное представление, соответствующее вашим выводам:

http://xhelmboyx.tripod.com/formats/latin-mac -charset.txt

 1         0x01     SOH start head             white smiley
 2         0x02     STX start text         ->| or black smiley
 3         0x03     ETX end text              |<- or heart
                                               _
 4         0x04     EOT end transmit           ^ or diamond
 5         0x05     ENQ enquiry              up arrow or club
 6         0x06     ACK acknowledge             ^ or spade
 7         0x07     BEL bell/beep               centre dot
 8         0x08     BS backspace           inverted text cursor
 9         0x09     HT horizontal tab           vert. oval
10         0x0A     LF line feed           |X> or inverted oval
11         0x0B     VT vertical tab         arrow or male symbol
12         0x0C     FF form feed           arrow or female symbol
13         0x0D     CR carriage return       single note symbol
14         0x0E     SO shift out              dual note symbol
15         0x0F     SI shift in                  sun symbol
16         0x10     DLE device link esc      down or right arrow
17         0x11     DC1 device control 1         left arrow
18         0x12     DC2 device control 2   tick or dual vert arrow
19         0x13     DC2 device control 3   diamond or dual exclamation
20         0x14     DC4 device control 4         pilcrow sign
21         0x15     NAK negative acknowl.       section symbol
22         0x16     SYN sync. idle              horizontal bar
23         0x17     ETB end trans. block    

1
22.02.2019, 08:36
2 ответа

В sed это должно работать:

sed '/url/ { /scm/! s=\.com/=\.com/scm/=g }'

Вы можете отменить адрес, добавив после него !, и вы можете применить регулярное выражение адреса к другому, используя блоки.

Или, может быть, если scmследует проверять только после .com/на:

sed '/url/ { \=\.com/scm/= ! s=\.com/=\.com/scm/=g }'
5
27.01.2020, 23:14
! grep -q '/scm/'.git/config && sed "/\turl/ s=\.com\/=\.com\/scm\/=g".git/config

или

grep -q '/scm/'.git/config || sed "/\turl/ s=\.com\/=\.com\/scm\/=g".git/config

Если файл не содержит /scm/, то sed...

2
27.01.2020, 23:14

Теги

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