sed
sed s/'원본 문자열'/'바꿀 문자열'/
< 옵션 > -n 파일 안에서의 패턴이 발견된 라인 및 라인 번호
< 기능 > d : 텍스트 줄 삭제 명령 a\ : 텍스트 줄 다음에 첨가 명령 i\ : 텍스트 줄 앞에 첨가 명령
[/패턴/]= 대응되는 줄의 패턴과 일치하는 각 줄의 번호를 표준 출력 s/패턴/대체패턴/ 플래그 패턴을 대체패턴으로 바꿈. 플래그는 g, p, wfile |
해당줄 검색
< 해당줄 검색 > |sed -n /root/p -> "root" 포함하는 줄만 출력
|sed -n '1p;3p;' -> 1번줄과 3번줄만 출력한다.
|sed -n '1,3p' -> 1번줄, 2번줄, 3번줄만 출력한다. ( 1~3 출력 ) |
해당줄 삭제
< 해당줄 삭제 > |sed '8d' -> 8번째 줄 삭제 후 출력
|sed '#d' -> # 주석 라인 삭제 후 출력
|sed /^$/d |grep . -> 빈 줄 모두 삭제 후 출력
|sed /root/d -> "root"가 있는 줄은 삭제 후 출력 |
공백 삭제
< 공백 삭제 > |sed 's/ ///g' -> 모든 공백을 제거 후 출력
|sed 's/^ *//g' -> 문자열 앞 공백 제거 후 출력
|sed 's/ *$//g' -> 문자열 뒤 공백 제거 후 출력
# sed -e 's/^ *//g' -e 's/ *$//g' -> 문자열 앞 뒤 공백 제거 후 출력 |
해당줄 치환
< 해당줄 치환 > |sed s/1/2/ -> 라인에서 "1"을 찾아서 하나만 "2"으로 치환해서 출력 -> 11111 을 21111으로 변경
|sed s/1/2/g -> 라인에서 "1"을 찾아서 모두 "2"으로 치환해서 출력 -> 11111 을 22222으로 변경
|sed s/root//g -> "root"만 지워서 출력
|sed s/ *$// -> 모든 줄의 끝에 빈 칸을 삭제
|sed s/11*/1/g -> "1"으로 연속 적으로 나오는 것을 "1"하나로 변경 -> 11111 을 1으로 변경 |
해당줄 입력 추가
< 해당줄 입력 추가>
|sed 's/^/Oracle /' -> 라인 맨 앞에 원하는 글 추가 후 출력
|sed 's/$/ Oracle/' -> 라인 맨 뒤에 원하는 글 추가 후 출력 |
[출처 : http://blog.naver.com/dong_wook35/220181105438]
'Academy I > Tech Academy' 카테고리의 다른 글
Jar Make (0) | 2015.09.16 |
---|---|
Java Makefile (0) | 2015.09.15 |
한국 각 증권사별 API 현황 (0) | 2015.06.16 |
gcc 컴파일 과정 (0) | 2015.02.09 |
[REGEX]Regular expression (0) | 2015.02.02 |
Awk (0) | 2015.02.02 |
Regular expression (0) | 2015.02.02 |
assert와 매크로 함수를 이용한 디버깅 정보 얻기 (0) | 2015.01.22 |