Я нашел веб-страницу, где управляющим символам дано печатное представление, соответствующее вашим выводам:
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
В sed это должно работать:
sed '/url/ { /scm/! s=\.com/=\.com/scm/=g }'
Вы можете отменить адрес, добавив после него !
, и вы можете применить регулярное выражение адреса к другому, используя блоки.
Или, может быть, если scm
следует проверять только после .com/
на:
sed '/url/ { \=\.com/scm/= ! s=\.com/=\.com/scm/=g }'
! 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...