Hacking Arts
[Linux] sed 본문
<Sed>
Sed(Stream Editor) CLI시절 많은 편집 작업을 한번에 처리해주는 적합한 유틸이였다.
sed는 파일을 한행씩 처리하고 작업중인 라인을 패턴 스페이스라는 곳에 저장한다고 함.
sed 'command' [filename]
d : 행 삭제
h : 패턴스페이스 내용을 홀드스페이스로 복사
H : 패턴스페이스 내용을 홀드스파이스에 추가
g : 홀스 스페이스 내용을 패턴 스페이스로 복사
G : 홀스 스페이스 내용을 패턴스페이스에 추가
p : 행을 출력함
n : 다음 입력
q : sed 종료
r : 파일로 부터 행을 읽어 온다.
! : 선택된 행을 제외한 나머지 전체 행에 명령어를 적용
s : 문자열을 치환함
이중에서 중요한건 s와 g이다.
★★s : 검색 & 치환
sed s/filename/filename.txt/ filename.txt
이런식으로하면 filename.txt안에 내용중 filename문장을 filename.txt로 치환한다.
★★g : global이라는 의미로 전부 라는 뜻이다.
sed s/project/project_name/ prj.txt 이런식으로 하면 두번째 문자열은 바뀌지않는다,
그래서 sed s/project/project_name/g prj.txt 이런식으로 하면 전부 바꿔준다.
★★e : e옵션을 쓰면 두개의 다른 문자열을 또다른 두개의 문자열로 바꿀때 사용한다.
즉 aaa,ccc를 bbb,ddd로 바꿀때 sed 's/aaa/ccc/g' -e 's/bbb/ddd/g' filename 이런식으로 바꾸면 된다.
★★\: 부정의의미
sed 's/[Cc\]hoiojae/aaa/g' test.txt 하면 [Cc]hoiojae 를 aaa로 바꾸라는것이다.
sed 's/\/a\/b/\/c/g' test.txt 를 하면 /a/b -> /c 라는 뜻이된다.
'Computer & ETC > linux' 카테고리의 다른 글
[Linux] 명령어 간략 모음 (0) | 2014.08.23 |
---|---|
[Linux] nohup,dmesg,col (0) | 2014.08.23 |
[Linux] Quota(쿼타) (0) | 2014.08.23 |
[Linux] file system (0) | 2014.08.23 |
[Linux] 파티션(Partition) (0) | 2014.08.23 |