반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Programming
- 컴퓨터 강좌
- DBMS
- UNIX Internals
- 한빛미디어
- Symbol
- Golang
- SQLite
- Preprocessor
- 약어
- 커널
- TiKV
- getopts
- 포인터변수
- go
- Windows via c/c++
- 구조와 원리
- UNIX
- OS 커널
- FreeBSD
- kernel
- 전처리기
- newSQL
- TiDB
- Pointer
- DBMS 개발
- 긴옵션
- bash
- 포인터
- 함수포인터
Archives
- Today
- Total
sonumb
sed에서 개행문자 (newline) 처리하기 본문
sed는 말그대로 Stream 'Line' Editor 이다.
즉 하나의 라인만 적용이 된다는 소리. -_-;;
약간의 꼼수를 써야된다.
그런다음 캐리지 리턴 문자 삭제
# 다음은 2개행을 붙이는 옵션이다.
# 파일 끝에 N;, 즉 다음행을 가져와서. 개행문자를 스페이스문자로 치환한다.
# 라인 마지막의 개행문자는 삭제하지 않는다.
아니면 문서 전체적으로 개행문자를 삭제 해야 할 경우가 있다.
일단 'sc'라는 sed script 파일을 만들어보자.
그런 다음
즉 하나의 라인만 적용이 된다는 소리. -_-;;
약간의 꼼수를 써야된다.
# 도스파일로 변환한 다음
$unix2dos -n ./tmp.unix ./tmp.dos
$unix2dos -n ./tmp.unix ./tmp.dos
그런다음 캐리지 리턴 문자 삭제
# UNIX 파일은
$sed -e "/^$/d" ./tmp.unix > non-blank.file
# 도스 파일은 첫번째에 carriage return 문자가 나오는 행을 삭제.
$sed -e "/^\r/d" ./tmp.dos > non-blank.file
$sed -e "/^$/d" ./tmp.unix > non-blank.file
# 도스 파일은 첫번째에 carriage return 문자가 나오는 행을 삭제.
$sed -e "/^\r/d" ./tmp.dos > non-blank.file
# 다음은 2개행을 붙이는 옵션이다.
# 파일 끝에 N;, 즉 다음행을 가져와서. 개행문자를 스페이스문자로 치환한다.
# 라인 마지막의 개행문자는 삭제하지 않는다.
$sed -e '/$/N;s/\n/ /' a.txt
아니면 문서 전체적으로 개행문자를 삭제 해야 할 경우가 있다.
일단 'sc'라는 sed script 파일을 만들어보자.
$cat > sc
:loop
N
{
s/\n//
b loop
}
P
D
^D (EOF 문자)
:loop
N
{
s/\n//
b loop
}
P
D
^D (EOF 문자)
그런 다음
$sed -f sc tmp.unix > no-newline.file
반응형