방금 다른 플랫폼 파일(Windows)에서 다음과 같은 많은 오류가 발생한다는 것을 알았습니다.여기, 내 정규식에서. 대부분의 경우 줄은 ^M
.
dos2unix를 수행하는 방법에는 다음과 같이 여러 가지가 있는 것 같습니다.여기설명하다. 그러나 이것이 문자 ^M
문제, 즉 모든 Windows 시스템에서 Unix까지 해결하기에 충분한지는 확실하지 않습니다.
샘플 코드
while (my $file = readdir($DIR)) {
## Reset the counter
my $c=0;
## Skip any files that aren't .tex
next unless $file =~ /\.tex$/;
## Open the file
open(my $fh,"$path/$dir/$file");
######### TODO I think the replacement should be done here
######### Pseudocode : 's/\r\n/\n/' input.txt
while (<$fh>) {...}
s/\r\n\z//; # TODO bug here,
# This line is not affecting the file globally.
# I need to somehow apply the replament to the file.
# Probably, I should do it globally, since this seems to be only locally.
# What do you think?
내 UNIX 시스템에서 이와 같은 데이터를 반환합니다.
\subsection{3}^MA 45세 남성은 지난 1년 동안 가끔 며칠 전에 먹은 음식에서 입자를 토해냈다고 말했습니다.
다음 대체의 차이점은 무엇입니까?
#1
s/\r\n\z//;
명백한 대체품을 전혀 반환하지 않습니다.
#2
s/\r\n\z//g;
올바른 데이터를 반환하지 않습니다. 위의 데이터{3}^마 4여전히 출력에서 볼 수 있습니다.
#삼
s/\R//g;
잘못된 방향의 데이터를 반환합니다.
\subsection{4}All the following are associated with an increased risk for gallstones, except:
\begin{question}{Why hemolysis can give gall stones?}Bilirubin accumulation.\end{question}
...
\begin{question}{Vomiting. Why?}Neuropathy of stomach. Changes in the nervous system of the intestinal system. Not using insulin all the time. % Ketone irritation possible. % ketoacidosis \end{question}
주석까지 포함하여 모든 것이 한 줄에 있으므로 #2는 아닙니다.
Perl 스크립트에서 win2unix를 실행하는 올바른 방법은 무엇입니까?
답변1
Siyuan Ren의 댓글에 좋은 답변이 있습니다. 특정 방식으로 명령을 사용하십시오.
tofrodos