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