문제

루비 원 라이너를 사용하여 텍스트 파일에서 이중 인용문 ( ") 문자를 제거하려고합니다.

나는 성공하지 않고 다음과 같은 변형을 시도했습니다.

ruby -pe 'gsub(/\"/,"")' < myfile.txt

이것은 다음과 같은 오류를줍니다.

-e:1: Invalid argument - < (Errno::EINVAL)

나는 Win Machine에서 Ruby를 실행하고 있습니다.

Ruby 1.8.6 (2007-09-24 Patchlevel 111) [i386-mswin32

아이디어가 있습니까?

도움이 되었습니까?

해결책

CMD 인용 지옥처럼 보입니다. 단일 따옴표는 CMD 쉘에서 의미가 없습니다.

ruby -pe "gsub(34.chr,'')" < filename

그러나 이것은 아마도 더 나을 것입니다 :

ruby -pe "$_.delete!(34.chr)" < filename

다른 팁

어때요 :

ruby -e 'puts $stdin.read.gsub(34.chr,"")' <myfile.txt
ruby -pe 'gsub(/\"/,"")' myfile.txt

문제는 쉘에 문제가있는 것 같습니다.

귀하의 오류 메시지는 Ruby의 것이므로 Ruby가 < 논쟁으로. 이것은 쉘이 리디렉션을 수행하지 않음을 의미합니다.

Windows 기계가 편리하지 않으므로 먼저 리디렉션을 올바르게 받고 있는지 확인합니다. 첫 번째 검사에서 나는 생각합니다 < myfile.txt 해야한다 <myfile.txt

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top