Ciao a tutti,
ho a che fare con dei file di testo con svariate righe, ciascuna contenente dei dati separati dal carattere '|'. Quello di cui ho bisogno è un file di testo contenete solo alcuni dati di queste righe, per fare ciò mi affido al terminale digitando il seguente comando
awk -F '|' '{print $1 "-" $2}' filesorgente.txt > filedestinazione.txt
ottenendo così il file desiderato. Il problema di tutto ciò è che faccio questo lavoro "a mano", dovrei invece creare un file .sh per poi richiamarne l'esecuzione da un programma che sto scrivendo in Java. Il problema sta nel fatto che il file .sh che ho scritto mi restituisce il seguente errore
awk: line 0: regular expression compile failed (missing operand)
|{print %s $1}
Questo il codice che ho scritto:
#!/bin/bash
awk -F '|' '{print $1 "-" $2}' $1 > output.txt
NOTA: il file da dove leggere i dati lo passo come parametro. Qualcuno sa il perchè di questo errore?
Grazie mille.