쉘에서 ASCII 제어 문자 처리
제어 문자 개요
통상은 보이지 않는 특수한 문자를 「제어 문자」라고 부릅니다.
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
Reference
이 문제에 관하여(쉘에서 ASCII 제어 문자 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rtakasuke/items/5331d3e851c0ae4c9bd4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
캐럿 기법
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
Reference
이 문제에 관하여(쉘에서 ASCII 제어 문자 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rtakasuke/items/5331d3e851c0ae4c9bd4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 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
Reference
이 문제에 관하여(쉘에서 ASCII 제어 문자 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rtakasuke/items/5331d3e851c0ae4c9bd4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 8進表記
$echo $'\030' | more
^X
# 16進表記
$echo $'\x18' | more
^X
# 文字表記
$echo $'\cX' | more
^X
# ^A を検索
$cat ctrl.txt | grep $'\cA' | more
cat^A2013
sheep^A2015
# sheep^A を検索
$cat ctrl.txt | grep $'sheep\cA' | more
sheep^A2015
# ^B を ^A に置換
$cat ctrl.txt | sed $'s/\x2/\x1/g' | more
cat^A2013
horse^A014
sheep^A2015
monkey^A2016
Reference
이 문제에 관하여(쉘에서 ASCII 제어 문자 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rtakasuke/items/5331d3e851c0ae4c9bd4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)