반응형
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 | 31 |
Tags
- getopts
- 구조와 원리
- 한빛미디어
- 포인터
- Golang
- DBMS
- DBMS 개발
- go
- kernel
- OS 커널
- UNIX
- 포인터변수
- FreeBSD
- 긴옵션
- SQLite
- Windows via c/c++
- TiDB
- Programming
- 컴퓨터 강좌
- 커널
- Symbol
- 전처리기
- UNIX Internals
- 약어
- bash
- 함수포인터
- Pointer
- TiKV
- newSQL
- Preprocessor
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
반응형