Domanda

Sto cercando di rimuovere alcuni virgolette ( ") caratteri da un file di testo utilizzando un uno di linea Rubino, con scarso successo.

Ho provato quanto segue e alcune varianti, senza successo.

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

Questo mi dà il seguente errore:

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

Sono in esecuzione di Ruby su una macchina di vittoria:

rubino 1.8.6 (2007-09-24 patchlevel 111) [i386-MSWIN32]

Qualche idea?

È stato utile?

Soluzione

appare come cmd citando l'inferno -. Notare che le singole citazioni sono prive di significato nella shell cmd

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

, ma questo è probabilmente meglio:

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

Altri suggerimenti

Come su:

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

suona come il problema è con il guscio.

Il messaggio di errore è da Ruby, così sembra Rubino sta ricevendo il < come argomento. Ciò significa che la shell non sta facendo alcun reindirizzamento.

Non ho una macchina Windows a portata di mano in modo che avrei doppio controllo che si stanno ottenendo il reindirizzamento prima a destra. A prima vista penso che il < myfile.txt dovrebbe essere <myfile.txt

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top