텍스트 파일의 문자를 유형에 따라 변환하려고합니다.
편지> L
숫자> #
문자 단위로 파일을 반복하는 방법이 있습니까? 현재 작동하도록 할 수있는 유일한 방법은 파일 내의 개별 줄을 반복하는 중첩 루프입니다. 더 간단한 방법이 있다면 많은 코드를 생략해야합니다.
Get-Content -Encoding Byte
바이트 값을 사용 하고 다시 문자로 변환 할 수 있습니다 .
Get-Content foo.txt -Encoding Byte | foreach { [char]$_ }
Get-Content -Raw
결과를 사용 하고 [byte[]]
. 대용량 파일에는 권장되지 않습니다.
위의 두 옵션 모두 줄 바꿈을 포함하여 모든 문자를 제공합니다. 옵션 1은 명백한 이유로 유니 코드에서 작동하지 않습니다. 옵션 2는 것입니다.
그런 다음 이미 언급 한 변형이 있습니다. 두 번, 한 줄씩, 한 번 문자로 반복합니다.
Get-Content foo.txt | foreach { [char[]] $_ | foreach { ... } }
문자로 줄 바꿈이 필요하지 않다면이 버전을 선호합니다. 합리적인 런타임 및 메모리 요구 사항이 있어야하기 때문입니다 (예 : 전체 파일을 메모리에 맞추려고하지 않습니다).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다