Ruby: como combinar aspas duplas em uma regexp
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:
Qualquer idéia?
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