쉘에서 ASCII 제어 문자 처리

3425 단어 asciiUNIX리눅스

제어 문자 개요



통상은 보이지 않는 특수한 문자를 「제어 문자」라고 부릅니다.
ASCII 코드의 경우 0~31번째, 127번째는 제어 문자입니다.
여기에서는 쉘상에서 제어 문자를 취급하는 방법을 정리합니다.

제어 문자 표현




캐럿 기법
8진
10진
16진


^@
0
0
0

^A
1
1
1

^B
2
2
2

^C
3
3
3

^D
4
4
4

^E
5
5
5

^F
6
6
6

^G
7
7
7

^H
10
8
8

^I
11
9
9

^J
12
10
a

^K
13
11
b

^L
14
12
c

^M
15
13
d

^N
16
14
e

^O
17
15
f

^P
20
16
10

^Q
21
17
11

^R
22
18
12

^S
23
19
13

^T
24
20
14

^U
25
21
15

^V
26
22
16

^W
27
23
17

^X
30
24
18

^Y
31
25
19

^Z
32
26
1a

^[
33
27
1b

^\
34
28
1c

^]
35
29
1d

^^
36
30
1e

^_
37
31
1f




^?
177
127
7f


제어 문자 입력 방법


# Ctrl+V Ctrl+A
^A

# Ctrl+V Ctrl+V
^V

제어 문자 표시



cat 명령의 경우
# 制御文字は見えない
$cat ctrl.txt
cat2013
horse014
sheep2015
monkey2016

# -vオプションを付与すると制御文字が見える
$cat -v ctrl.txt
cat^A2013
horse^B014
sheep^A2015
monkey^B2016

less, more 명령의 경우 제어 문자가 보입니다.


이스케이프 시퀀스 및 사용 예



^X의 표기 여러가지
# 8進表記
$echo $'\030' | more
^X

# 16進表記
$echo $'\x18' | more
^X

# 文字表記
$echo $'\cX' | more
^X

이용예(grep)

# ^A を検索
$cat ctrl.txt | grep $'\cA' | more
cat^A2013
sheep^A2015

# sheep^A を検索
$cat ctrl.txt | grep $'sheep\cA' | more
sheep^A2015

이용예(sed)
# ^B を ^A に置換
$cat ctrl.txt | sed $'s/\x2/\x1/g' | more
cat^A2013
horse^A014
sheep^A2015
monkey^A2016

좋은 웹페이지 즐겨찾기