Pergunta

Eu estou tentando remover algumas aspas ( ") caracteres de um arquivo de texto usando um forro de um Ruby, com pouco sucesso.

Eu tentei o seguinte e algumas variações, sem sucesso.

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

Isso me dá o seguinte erro:

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

Estou executando Ruby on uma máquina Win:

rubi 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

Qualquer idéia?

Foi útil?

Solução

Looks como cmd citando o inferno -. Note que as aspas simples são sem sentido no shell cmd

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

mas esta é provavelmente melhor:

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

Outras dicas

Como sobre: ??

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

Parece que o problema é com o shell.

A sua mensagem de erro é de Ruby, assim parece Ruby está recebendo o < como um argumento. Isto significa que o shell não está fazendo qualquer redirecionamento.

Eu não tenho uma máquina Windows à mão, assim que eu verificar que você está recebendo o redirecionamento direito primeiro. Na primeira inspeção Eu acho que o < myfile.txt deve ser <myfile.txt

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top