Sono stato sconcertato da questo problema apparentemente semplice da risolvere ... beh, per un po '.
Ecco un esempio di output dal file che devo modificare:
$cat file
George Washington
Geneva Convention
123,281,029 USD
342,019,929 EUR
Devo rimuovere gli spazi tra "George Washington" e "Convenzione di Ginevra", ma non gli spazi tra "123.281.029 USD" o "342.019.929 EUR".
In sostanza, il mio obiettivo qui è quello di rimuovere lo spazio tra le parole in una riga SOLO se non ci sono numeri in quella riga.
Ho provato a modificare il file tramite grep -v [0-9] $file | sed 's/ //'
, ma l'unico modo per funzionare è se eseguo l'output su un altro file, ma ciò significherebbe escludere tutte le righe con i numeri dal vecchio file al nuovo file, che non è quello di cui ho bisogno.
Ho provato alcuni loop piuttosto ridicoli con grep e sed
ma nulla sembra funzionare bene.
Ancora una volta, ecco l'output di esempio del file:
$cat file
George Washington
Geneva Convention
123,281,029 USD
342,019,929 EUR
Ecco l'output desiderato:
$cat file
GeorgeWashington
GenevaConvention
123,281,029 USD
342,019,929 EUR