sed "/w$/N;s/\n//" a.txt
a.txt 파일 내용 hello w orld
위의 sed 명령은 마지막이 w로 끝나고 개행문자가 올때 개행문자를 없애는 기능이거든요
그런데 N;s가 이해가 안되서요
N;s가 정확히 무엇을 의미하나요?
/w$/N : w로 끝나는 라인의 다음라인
s/\n// : \n을 null로 치환
아마 이런 것 같습니다.
N : 다음 라인을 패턴 스페이스(pattern space)에 append 하는 명령어 입니다. 참고로 n 명령어는 현재 패턴 스페이스의 내용을 출력하고 다음 라인을 패턴 스페이스에 append합니다.
; : 명령어 구분자 입니다.
참고로 2개 이상 명령어를 입력하는 방법은 3가지 입니다. 1. semicolon으로 분리 2. -e 옵션으로 분리
sed -e "/w$/N" -e "s/\n//" a.txt
sed -e ' /w$/N s/\n//' a.txt
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
/w$/N 과 s/\n// 로 이루어진 2문장입니다. ;는 문장 종결이구요
/w$/N : w로 끝나는 라인의 다음라인
s/\n// : \n을 null로 치환
아마 이런 것 같습니다.
command for sed
N : 다음 라인을 패턴 스페이스(pattern space)에 append 하는 명령어 입니다.
참고로 n 명령어는 현재 패턴 스페이스의 내용을 출력하고 다음 라인을 패턴 스페이스에 append합니다.
; : 명령어 구분자 입니다.
참고로 2개 이상 명령어를 입력하는 방법은 3가지 입니다.
1. semicolon으로 분리
2. -e 옵션으로 분리
3. 쉘에서 작은 따음표(single quote)를 이용하여 multi line을 이용하는 방법
댓글 달기