특정 내용을 확인하려면 주기적으로 명령을 실행해야 합니다.텍스트파일은 Linux 모드로 저장됩니다. 불행하게도 dos2unix
파일은 항상 수정되어 파일 및 폴더 타임스탬프가 엉망이 되고 불필요한 쓰기가 발생합니다.
제가 작성한 스크립트는 Bash에 있으므로 Bash 기반 답변을 선호합니다.
답변1
참고: 이는 빠른 확인을 위해서만 자동화 스크립트에 사용되어서는 안 됩니다. 자동화 스크립트의 경우 다른 답변을 확인하는 것이 좋습니다.
사용cat -A
$ cat file
hello
hello
이제 이 파일이 *NIX 시스템에서 생성된 경우 다음이 표시됩니다.
$ cat -A file
hello$
hello$
하지만 이 파일이 Windows에서 만들어지면 다음과 같이 표시됩니다.
$ cat -A file
hello^M$
hello
^M
대표 CR
하고 $
대표합니다 LF
.
저는 Windows에서는 Windows 메모장을 사용하고 Linux에서는 Vim을 사용합니다. Windows 메모장은 마지막 줄을 저장하지 않습니다 CRLF
.
또한 파일 내용은 변경되지 않습니다.
답변2
dos2unix
이를 필터 로 사용하고 출력을 원본 파일과 비교할 수 있습니다 .
dos2unix < myfile.txt | cmp - myfile.txt
답변3
타임스탬프에 영향을 주지 않는 것이 목표인 경우 타임스탬프를 동일하게 유지하는 또는 옵션이 dos2unix
있습니다 . 임시 파일을 생성하고 이름을 바꾸려면 쓰기 작업을 수행해야 하지만 타임스탬프는 영향을 받지 않습니다.-k
--keepdate
파일 수정이 허용되지 않는 경우 다음 해결 방법을 사용할 수 있습니다.이 답변.
find . -not -type d -exec file "{}" ";" | grep CRLF
이러한 라인 종료가 감지되면 이 file
명령이 출력됩니다 .CRLF
답변4
grep
CRLF 코드인 8진수를 사용해 볼 수 있습니다 .
grep -U $'\015' myfile.txt
또는 16진수:
grep -U $'\x0D' myfile.txt