Mac의 sed로 개행 코드를 출력시킨다 ~ 개행 코드의 차이 재확인 ~
<!--more-->
를 일괄 치환할 때에, 빠진 이야기.다음과 같이,
<!--more-->
를 치환하려고 한 것이,!
이스케이프 에서 빠졌다.
교체 전
<!--more-->
대체 후
<!--more-->
{% include hogehoge.html %}
! 이스케이프
우선,
!
는 과거의 실행 커멘드를 참조하는 커멘드이기 때문에, 치환 캐릭터 라인에 포함되면(자) 의도하지 않은 움직임을 해 버린다.⇛
\!
와 이스케이프 하는 것으로 해결개행 코드 출력
Mac의 sed 명령에서는, 예를 들면,
echo "hogehoge\nfoo\nbar" | sed 's/\\n/\n/g'
올바르게 치환시키기 위해서는 다음과 같이 할 필요가 있다.
LF=$'\\\x0A'
echo "hogehoge\nfoo\nbar" | sed 's/\\n/'"$LF"'/g'
CR LF CR+LF의 차이
개행 코드의 복습도 겸해 조사해 둔다
캐리지 리턴(Carriage Return 복귀 : CR(0x0d))
OS9까지의 MacOS는 CR을 개행 코드로 해석하고 있었다.
라인 피드(Line Feed 개행 LF(0x0a))
UNIX 환경은 LF를 개행 코드로 해석합니다.
(OSX도 마찬가지)
CRLF 0x0d0a
Windows 환경은 CR LF를 개행 코드로 해석합니다.
실행하고 싶은 명령
markdown 파일에서
\n
태그 바꾸기find . -name "*.markdown" | xargs sed -i '' 's/<\!--more-->/<\!--more-->'"$LF"'{% include ga.html %}/g'
참고
sed로 줄 바꿈 출력 - rcmdnk’s blog
그림 DTP 용어 사전개행 코드의 차이 일본어 조판에서 말하는 개행은, 행을 재차해 다음의 행의 시작부터 문자를 짜 시작하는 것이다. 그러나 유럽문 조판에서는, 타자기의 조작 메카니즘의 제약으로부터 일본어의 개행에 해당하는 조작은 2단계로 나뉘어, ...
메모
find _posts/-name "*.markdown"| xargs grep "ga.html"
_posts//2014-09-28-baseball-club-yokyo.markdown:{% include ga.html %}
_posts//2014-10-30-how-google-works.markdown:{% include ga.html%}
_posts//2014-11-16-fountain-pen-cleaning.markdown:{% include ga.html %}
_posts//2014-11-21-ted-api.markdown:{% include ga.html %}
Reference
이 문제에 관하여(Mac의 sed로 개행 코드를 출력시킨다 ~ 개행 코드의 차이 재확인 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/meganii/items/0b59e039ca9050835dbc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)