2013-05-02 4 views
1

나는 수천 개의 레코드 파이프가 따옴표로 묶인 각 필드로 구분 된 파일이 있습니다. 기본적으로 줄을 읽고 따옴표가있는 줄을 새 파일에 작성해야합니다. 올바르게 실행하려면 올바른 sed 명령은 무엇입니까? 내 윈도우 머신에 나오지도 설치되어 있지만 내가따옴표를 제거하십시오.

을 유지

[입력]

"First Name"|"Last Name"|"address"|"City"|"State"|"Zip" 

[출력]

First Name|Last Name|address|City|State|Zip 

명령은 내가 별도로 시도했지만 그들 중 어느 쪽도

C:\Program Files\GnuWin32\bin>sed 's/\"//g' "C:\Users\abc\Documents\testFile.txt" > quoteOutput.txt 

C:\Program Files\GnuWin32\bin>sed s/\"//g "C:\Users\abc\Documents\testFile.txt" > quoteOutput.txt" 
작업
+0

모든 비밀 말도 안되는 말을 인용하는 Windows는 절름발이입니다. Cygwin을 설치하면 sed, tr, awk 등을 사용할 수 있습니다. –

+0

@EdMorton 아니면 질문을 바탕으로 * nix OS : – squiguy

답변

2
% echo '"First Name"|"Last Name"|"address"|"City"|"State"|"Zip"' | sed -e 's/"//g'                   

First Name|Last Name|address|City|State|Zip 

이메일은 필요하지 않습니다. 그것의 구분 기호를 제외하고는 "을 나타냅니다.

tr -d \" <input.txt> output.txt 
+0

을 사용합니다.이 명령은 작은 따옴표에 특별한 의미가없는 Windows 명령 프롬프트에서 실행합니다. –

+0

정확히 그가해야 할 일입니다. 따옴표로 스크립트를 둘러 쌉니다. ** 도망 갈 수있는 문제없이 실행 ** 할 수 있습니다 – hd1

+0

다음 명령을 실행하려고하고 창에 오류가 발생했습니다 : C : \ Program Files \ GnuWin32 \ bin> sed -e 's/"// g" "C : \ Users \ abc \ Documents \ testFile.txt"> "C : \ Users \ abc \ quotesRemoved.txt" [출력] sed : -e 표현식 # 1, char 1 : 알 수없는 명령 :' '' – Villumanati

1

는 간단한 옵션은 tr (그것이 당신이 설치 한 툴킷에 포함 된 가정)을 사용하는 것 [편집 Windows에서 실행하는 방법을 보여] 백 슬래시를 사용하여 sed 명령 목록에서 큰 따옴표를 인용하는 것이 더 좋습니다.

C:\tmp>cat input 
"First Name"|"Last Name"|"address"|"City"|"State"|"Zip" 

C:\tmp>sed "s/\"//g" input 
First Name|Last Name|address|City|State|Zip 
1

생각한다

echo 's/"//g' > c:\Users\abc\Documents\test.sed' 
sed -f c:\Users\abc\Documents\test.sed C:\Users\abc\Documents\quoteFile.txt > "C:\Users\abc\Documents\quoteFileProcessed.txt" 
관련 문제