2012-07-23 3 views
0

데이터베이스 덤프에 의해 채워지는 txt 파일이 있지만 원하지 않는 문자가 CRLF 개 있습니다. 기본적으로 C:\app.txt을 편집하려고하는데 모두 CRLF을 제거한 다음 [email protected]#"_TEXT_" 앞에 추가하고 CR"[email protected]#_TEXT_" 앞에 추가하십시오. 이 방법으로, 나는 그저 장소가 아닌, 내가 원하는 장소에 CR만을 가지고 있습니다.텍스트 파일 편집을위한 일괄 처리 스크립트

저는 32 비트 환경에서 잘 작동하지만 64 비트 PC에서는 작동하지 않는 Bruce Gunthrie의 change.exe를 사용해 보았습니다.

도움을 주시면 감사하겠습니다.

나는 비슷한 포스트를 보았지만 코드가 너무 복잡해서 코드를 읽는 데 어려움을 겪었으므로 코드를 우리 환경에 맞게 적용하는 방법을 알지 못했습니다.

감사

누가 복음

예.

_TEXT_ data data1 
data2 data3 data4 
_TEXT_ data data1 
data2 data3 data4 

을 읽어야 할 사람 : PowerShell을 옵션

_TEXT_ data data1 data2 data3 data4 
_TEXT_ data data1 data2 data3 data4 
+0

바이트 레벨 (특히 사용자 지정 줄 바꿈 포함)의 파일 조작은 배치 파일에서 * 하드 *입니다 ... – Joey

답변

1

인가? (난 그렇게 생각 것, 현재의 Windows 버전 와 64 비트 컴퓨터가 설치 PowerShell을 가지고 있습니다.)

$(
    $line = '' 
    switch -wildcard -File C:\app.txt { 
    '_TEXT_*' { 
     if ($line) { $line } 
     $line = "[email protected]#$_" 
    } 
    default { 
     $line += ' ' + $_ 
    } 
    } 
    if ($line) { $line } 
) -join "`r" 

이 CR과 함께 라인에 합류 것, 당신이 바란대로. 결과를 Set-Content으로 파이프하여 파일에 씁니다.

+0

스크립트 주셔서 감사하지만 텍스트 파이프 방법에 대해서는 잘 모릅니다. 나는 Set-Content를 시도했지만'Content : 0' 또는 무엇인가를 요구한다. 너 나를 다시 도울 수 있니? – ValiantSirDK

+0


나는 단순히'app.ps1> C : \ app1.txt'를 사용하여 파일을 txt 문서로 파이프했지만, 모든 것을 한 줄에 넣었습니다. 도와 주셔서 감사합니다 – ValiantSirDK

+0

안녕하세요 조이, 이제는'set-content'를 제외한 모든 작업을 도와 드리겠습니다. 고마워, 나는 며칠 동안이 일을 해왔다. – ValiantSirDK

관련 문제