J'essaie d'utiliser la commande awk pour appliquer cette règle : si la ligne ne commence pas par "O|" ou "A|" ou "S|" Je veux supprimer la nouvelle ligne sur la ligne précédente
J'ai ce fichier en entrée (input.txt)
O|field1|field2
O|field1|
field2
A|field1|
field2
S|field1|
field2
O|field1|field2
O|field1|field2
O|field1|
field2
A|field1|
field2
S|field1|
field2
O|field1|field2
Je souhaite obtenir le résultat suivant
O|field1|field2
O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2
O|field1|field2
O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2
Exécution de ce code
awk '/^O\|/ || /^A\|/ || /^S\|/ {printf "%s", $0; next} 1 {print}' input.txt > output.txt
Il renvoie
O|field1|field2O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2O|field1|field2O|field1|field2
A|field1|field2
S|field1|field2
O|field1|field2
Quelqu'un peut-il m'aider ?