HTML 파일의 £
기호를 모두 £
으로 바꾸려고합니다. 내 정규식이 작동하지 않는 것 같습니다.£의 파일에있는 모든 £를 Perl로 대체하려면 어떻게해야합니까?
도와 주시겠습니까?
use utf8;
다음 프로그램을 시도해보십시오 :
HTML 파일의 £
기호를 모두 £
으로 바꾸려고합니다. 내 정규식이 작동하지 않는 것 같습니다.£의 파일에있는 모든 £를 Perl로 대체하려면 어떻게해야합니까?
도와 주시겠습니까?
use utf8;
다음 프로그램을 시도해보십시오 :
이것은 작동합니다.
#!/usr/bin/perl
# File: convert.pl
no utf8; # its not required
while (<>) {
s/(\xa3)/pound/g;
print;
}
£
이 내 헥스 덤프에 0xA3
으로 표시되어 있기 때문입니다.
그러나, 그래서
#!/usr/bin/perl
while (<>) {
s/£/pound/g;
print;
}
그냥 말할 것이다 그렇게 작동하지 않았다 사람들이 당신을 무엇이 잘못되었는지 볼 수 있도록 도와줍니다 뭘하려
chmod a+x convert.pl
convert.pl yourfile.html > newfile.html
당신은 대부분의 아마하려면 잊어
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
while (<DATA>) {
s/£/£/g;
print
}
__END__
This is sample text with lots of £££!
50£ is better than 0£.
당신이 input
라는 이름의 파일에서 읽고 output
라는 이름의 파일에 기록하려면 다음
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
open my $input, '<', 'input' or die $!;
open my $output, '>', 'output' or die $!;
binmode $input, ':utf8';
while (<$input>) {
s/£/£/g;
print $output $_;
}
왜 '& 파운드;' 대체에 '£'이 아닌가? &을 사용하면 브라우저에 £ 대신 £으로 표시됩니다. –
@Lars Haugseth : 나중에 질문을 편집하여 '& 파운드'를 '£'(으)로 변경했습니다. 나는 그렇게 편집했다. 알려 줘서 고마워. :-) –
@Krish : 미안하지만, 당신이하려는 일을 이해하지 못했습니다. 설명 해주십시오. –
perl -i.bak -ne 's/£/£/g; print $_' file
끝에서 인쇄 중이라면 -n 대신 -p 플래그를 사용해야합니다. 'perl -i.bak -pe 's/£/& 파운드/g'파일' –
쇼? – ysth
당신은 코멘트에서 "What is the issue"를 묻지 만, 아무도 당신이 한 일을 말하지 않았기 때문에 아무에게도 말할 수 없습니다. Vim에서 이것을하려고합니까? 그렇다면 _how_? Perl을 사용하여이 작업을 수행하려고합니까? 그렇다면 _how_? – Telemachus
미안 해요, 그 전에 다른 의견을 삽입하고 그것을 삭제 mitake. 문제가 이제 해결되었습니다 – joe