SED
리눅스에서 sed는 "스트림 편집기(stream editor)"로 알려진 유닉스 명령줄 도구이다. sed는 주로 파일이나 파이프로 전달되는 텍스트 스트림을 읽고, 특정한 편집 작업을 수행한 후에 그 결과를 출력하는 데 사용된다.
출력시에만 삭제되어 나타내고 원본 파일에는 변화가 없다.
$ sed 1d drink2.txt
`drink2.txt` 파일의 첫 번째 줄을 삭제하고 나머지 내용을 출력한다.
$ sed 2,5d drink2.txt
`drink2.txt` 파일의 2번째부터 5번째 줄까지를 삭제하고 나머지 내용을 출력한다.
$ sed '3,$d' drink2.txt
'drink2.txt` 파일의 3번째 줄부터 마지막 줄까지를 삭제하고 나머지 내용을 출력한다.
$ sed d drink2.txt
`drink2.txt` 파일의 모든 줄을 삭제하여 아무 내용도 출력하지 않는다.
$ sed /^B/d drink2.txt
`drink2.txt` 파일에서 줄의 시작이 "B"로 시작하는 모든 줄을 삭제하고 나머지 내용을 출력한다.
$ sed 1p drink2.txt
`drink2.txt` 파일의 첫 번째 줄을 한 번 더 출력한다.
$ sed -n 1p drink2.txt
`drink2.txt` 파일의 첫 번째 줄만 출력한다. `-n` 옵션은 출력을 자동으로 하지 않도록 한다.
$ sed 's/Beer/Whisky/' drink2.txt
`drink2.txt` 파일에서 첫 번째 "Beer"를 "Whisky"로 대체한다 (첫 번째 발견만 변경).
$ sed 's/Beer/Whisky/g' drink2.txt
`drink2.txt` 파일에서 모든 "Beer"를 "Whisky"로 전체적으로 대체한다.
$ sed 's/B.*r/Whisky/g' drink2.txt
`drink2.txt` 파일에서 "B"로 시작하고 "r"로 끝나는 패턴을 찾아 "Whisky"로 대체한다.
$ sed 's/!//g' drink2.txt
`drink2.txt` 파일에서 모든 "!" 문자를 제거한다.
$ sed -n 's/!//gp' drink2.txt
`drink2.txt` 파일에서 "!" 문자를 제거한 결과를 출력한다.
$ sed -r 's/Be+r/Whisky/' drink2.txt
`drink2.txt` 파일에서 "Beer", "Beeer", "Beeeer" 등과 같은 패턴을 "Whisky"로 대체한다. `-r` 옵션은 확장된 정규식 사용을 나타낸다.
$ sed 's/My \(.*\)/--\1--/' drink2.txt
`drink2.txt` 파일에서 "My "로 시작하는 문자열을 찾아서 "--"와 "--" 사이에 포함된 내용으로 대체한다.
$ sed '1,3s/Beer/Whisky/g' drink2.txt
`drink2.txt` 파일의 1번째 줄부터 3번째 줄까지의 모든 "Beer"를 "Whisky"로 대체한다.
$ sed 's/Beer/\/Beer\//g' drink2.txt
`drink2.txt` 파일에서 "Beer"를 "/Beer/"로 대체한다. `/`는 이스케이프 처리되어 있다.
$ sed 's!Beer!/Beer/!g' drink2.txt
`drink2.txt` 파일에서 "Beer"를 "Beer/"로 대체한다. 구분자로 `!`를 사용하고 있다.
'Linux' 카테고리의 다른 글
[Linux] 포그라운드 백그라운드 프로세스 실습 bg fg (0) | 2024.05.13 |
---|---|
[Linux] grep 명령어 안 될때, grep 오류 해결 방법 (1) | 2024.05.13 |
[Linux] 정규 표현식 맛보기 grep (0) | 2024.05.13 |
[Linux] 텍스트 처리 (0) | 2024.05.13 |
[Linux] 표준 입출력과 파이프라인 연습 (1) | 2024.05.13 |