본문 바로가기

분류 전체보기85

정규표현식 RegEx # regex Regular Expression /{pattern}/{flag} # pattern ## Groups and rages | 또는 ( ) 그룹 [ ] 문자셋, 괄호안의 어떤 문자든 [^] 부정 문자셋, 괄호안의 어떤 문자가 아닐 때 (?:) 찾지만 기억하지는 않음 패턴은 찾지만 그룹으로 지정되지 않음 ## Quantifiers ? 있거나 없거나(zero or more) * 있거나 없거나 많거나 (zero or more) + 하나 또는 많이 (one or more) {n} n번 반복 {min, } 최소 {min, max} 최소, 최대 ## Boundary-type \b 단어 경계 \B 단어 경계가 아님 (not) ^ 문장의 시작 $ 문장의 끝 ## Character classes \ 특수 문자.. 2021. 3. 2.
scanf를 이용한 다양한 출력 방법 (scan set, edit set) scanf("%자리수[...]%*c, s); %[…] 은 edit set이라 불리며 scanf()를 통해 전달 받은 문자열이 […]안의 문자와 매치되는 경우에만 s에 저장 scanf("%자리수[^]%*c", s); %[]안의 ^는 scanf()를 통해 전달 받은 문자열이 ^ 뒤에 나오는 문자와 매치되지 않을 때 s에 저장됨. [^\n]는 \n을 제외한 문자라는 정규 표현식(RegEx)이다. 조건을 만족하지 못하는 곳과 그 뒷부분은 모두 무시 scanf("%3[^\n]%*c", s);는 \n을 만날 때까지 입력받거나 세자리까지 입력 받는다. scanf("%5[^:]%*c", s);는 :를 만날 때까지 입력 받거나 다섯자리까지 입력을 받는다. %s와 %c의 차이 %s는 white-space를 만나면 읽기를 .. 2021. 2. 26.
Shebang (#!) Shebang 이란? Sharp(#)' + 'Bang(!)의 합성어 #!은 2Byte의 매직넘버(magic number)로 Unix계열 OS(리눅스, Mac)에서 스크립트(bash, python등등) 코드 최상단에서 해당 파일을 해석해 줄 인터프리터의 절대경로를 지정 스크립트를 실행할 때 (예 : ./script명령 줄에서) Linux는 스크립트를 실행하는 데 사용되는 프로그램을 파악하기 위해 shebang 줄이라는 특수 줄을 사용합니다. 예) #!/bin/bash ⇒ Bash 스크립트 #!/usr/bin/env python3 ⇒ Python 스크립트용. shebang 줄이 없으면 기본적으로 Bash에서 스크립트를 실행. (즉, 쉘 스크립트로) 셸 스크립트가 아니라 파이썬 스크립트일 경우 #!/bin/b.. 2021. 2. 25.
[macOS] sed -i 에러 sed: 1: "/etc/hosts": extra characters at the end of d command 발생 macOS에서 sed -i를 사용하여 파일안에 있는 문자를 치환하려 하는 경우, 아래와 같이 하면 작동하지 않는다. sed 's/foo/bar/g' file 해결 방법 # BSD/macOS sed sed -i '' 's/foo/bar/' # GNU sed (대부분의 Linux) sed -i 's/foo/bar/g' BSD/macOS sed가 정상적으로 작동하지 않는 케이스들 **sed -i 's/foo/bar/' file # Breaks; script is misinterpreted as backup-file suffix sed -i'' 's/foo/bar/' file # Ditto se.. 2021. 2. 24.