Usando sedSED sostituire spazio vuoto con NULL
come posso sostituire \ N con NULL
Come posso sostituire lo spazio vuoto || con NULL.
|200|0||0|\N||^A|0|\N||
output desiderato
|200|0|NULL|0|NULL|NULL|^A|0|NULL|NULL|
Usando sedSED sostituire spazio vuoto con NULL
come posso sostituire \ N con NULL
Come posso sostituire lo spazio vuoto || con NULL.
|200|0||0|\N||^A|0|\N||
output desiderato
|200|0|NULL|0|NULL|NULL|^A|0|NULL|NULL|
Hai bisogno di una versione leggermente modificata di this. Qualcosa del genere dovrebbe funzionare:
sed ':a; s:|\(\\N\)\?|:|NULL|:g; ta'
Penso che il comando che stai cercando potrebbe essere chiamato "tr". Prova
tr \\n \\0
La migliore risposta per la domanda nel titolo (sebbene non risponda alla domanda specifica nella descrizione) ha funzionato anche – Lambart
cat file | sed 's/\\N/NULL/g' | awk -F\| '{for(i=2;i<=NF;i++){ if($i==""){ printf "|NULL"} else{ printf "|%s", $i}}; printf "|\n"}'
, grazie mille! – Deano
con awk
awk 'gsub("\\\\N","NULL");gsub("\\|\\|","|NULL|")' temp.txt
semplice, ma! lavori! grazie – Deano