일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 시각화
- Blog
- 블로그
- 매틀랩
- 서평
- MATLAB
- Visualization
- 월간결산
- 파이썬 시각화
- 딥러닝
- Pandas
- Linux
- 리눅스
- MySQL
- 통계학
- SQL
- Ga
- 텐서플로
- Tistory
- 티스토리
- tensorflow
- 독후감
- matplotlib
- Python
- 한빛미디어
- 서평단
- 한빛미디어서평단
- Google Analytics
- 파이썬
- python visualization
- Today
- Total
pbj0812의 코딩 일기
[LINUX] sed 본문
sed(steam editor) : 텍스트 처리 유틸리티
grep에서처럼 정규표현식 사용
파이프를 이용해서 사용자가 필요로 하는 결과로 재처리 가능.
비대화형 모드 에디터
사용방법
sed [연산자]
일반적으로 파이프(|)를 이용해 앞에 있는 명령어(a)의 결과를 처리하여 명령어(b)로 전달하는 형태로 많이 활용된다.
명령어 a | sed [연산자] | 명령어 b
하나 이상의 편집 명령을 실행할 때는 -e 옵션을 이용하며, 여러 연산자를 연속해서 처리할 수 있다.
sed -e [연산자1] -e | [연산자2]
sed의 특징
1. sed는 편집하고 있는 파일을 바꾸지 않는다.
2. sed의 연산자들은 입력받은 모든 라인에 적용된다.
옵션
-n : 지정된 문자열과 일치하는 라인만 출력
-e : -e 옵션 다음에 기술되는 문자열을 편집 명령어로 인식
-f : 편집할 명령어 및 연산자를 파일에서 읽어서 처리
출력, 삭제, 치환 기능
지정된 문자를 모두 치환할 때에는 반드시 g 연산자를 같이 사용해야 함.
그렇지 않으면 처음 일치한 문자열만 치환하게 됨.
[범위]/p : 지정된 범위 출력
[범위]/d : 지정된 범위 삭제
s/문자/문자2/ : 한 라인에 처음 나타난 문자를 문자2로 치환
[범위]/문자/문자2/ : 지정된 범위의 처음 나타난 문자를 문자2로 치환
g : 모든 라인에서 입력과 일치하는 패턴에 동작함.
정규표현식
^ : 라인의 처음
$ : 라인의 끝
[] : 하나의 문자 매치
& : 검색 문자열을 치환
\< : 단어의 시작
\> : 단어의 끝
x\{m,n\} : m회 ~n회 사이 반복
예제1 : sed_test 파일중 라인의 처음에 문자열 root가 포함된 라인만 출력되도록 -n 옵션 사용
sed -n "/^root/p" sed_test
예제2 : sed_test 파일의 내용 중 1번부터 19번 라인 삭제
cat -n sed_test | sed 1,19d
예제3 : /test/sed_test 파일의 내용중 문자열 user가 포함된 라인을 ShellScript로 문자열을 치환하고, nologin이 포함된 문자열 모두 삭제
cat -n sed_test | sed -e 's/user/ShellScript/g' -e '/nologin/d'
'ComputerLanguage_Program > LINUX' 카테고리의 다른 글
[LINUX] wc 명령어 (0) | 2018.09.04 |
---|---|
[LINUX] bc 명령어(계산기) (0) | 2018.09.04 |
[LINUX] 파일 내용 치환 (0) | 2018.09.04 |
[LINUX] > >> 차이점 (0) | 2018.09.04 |
[LINUX] 터미널 명령어/단축키 (0) | 2018.09.04 |