Windows의 IntelliJ IDE에서 열거 된 일부 열거 값을 메모장에 복사하고 공유 드라이브에 파일을 저장 한 다음 Linux 상자에서 열었습니다. 나는^M은 캐리지 리턴과 $ 파일의 마지막 줄을 의미 생각
A,B,C,^M$
D,E,F,^M$
G,H,I,^M$
주변 검색 후 : 내가 파일에 cat -A
을했을 때 그것은 같은 것을 보여 주었다. 나는이 파일이 여러 개의 $를 가질 수있는 방법에 당혹 스럽다. 내 GNU 상자에 man cat
에서
아 맞아! 거기에 Windows 스타일의 라인 결말을 sed와 일치시키는 방법이 있습니까? 'sed 's/\ r \ n // 행운을 얻으 려 시도했습니다 –
sed와 함께 EOL 문자'\ n '은 행의 일부로 간주되지 않습니다 (일부 정규식 엔진은 "단일 행 모드"를가집니다 전체 입력을 한 줄로 표시하지만 AFAIK는 표시하지 않음). '\ r \ n'과 일치 시키려면 '\ r $'대신 '\ r $'을 사용할 수 있습니다. 줄 끝에 '\ r'과 일치합니다 (등가이기도합니다). 한가지 재미있는 사실은 터미널이 실제로 '\ r'을 "줄의 시작으로 돌아 가기"(원래 의미였던)로 해석 할 것이므로 sed의 /$/.../ 'on'을 \ r \ n '각 줄을 덮어 쓰게됩니다. "hello \ r \ n"과 같은 줄은 "hello \ r ... \ n"이되어 터미널이 "... lo"로 끝납니다. – porges
그건 내 혼란을 없애 버린다. 나는 sed (snip -'sed ': a; N; $! ba; s/\ n// g ")와 \ n을 매치시키는 것이 왜 그렇게 복잡한 지 궁금해하고 있었다. 사실은 매우 흥미 롭습니다. 나는 이것이 타이프라이터 시대 (?)에서 유래 한 것으로 의심합니다. 당신의 도움을 주셔서 감사합니다 :) –