AWK / SED supprime les colonnes contenant des parenthèses

Je me demandais s’il serait possible de supprimer des colonnes dans un fichier de données qui contiennent des parenthèses pouvant être contenues dans n’importe quelle colonne. Par exemple

... John Doe (Tech Department) 09/12/2009 555-555-5555 Jane Smith 09/12/2009 555-555-5555 (Suspended) Alfred doe 555-555-5555 (Vacation) 09/09/2011 ... 

Alors je voudrais que la sortie ressemble à

 ... John Do 09/12/2009 555-555-5555 Jane Smith 09/12/2009 555-555-5555 Alfred doe 555-555-5555 09/09/2011 ... 

Je pensais utiliser un joker pour le texte entre les parenthèses? quelque chose comme /(*)/ ?

Merci pour toute aide,

Tomek

 $ cat file John Doe (Tech Department) 09/12/2009 (somethign else) 555-555-5555 Jane Smith 09/12/2009 555-555-5555 (Suspended) Alfred doe 555-555-5555 (Vacation) 09/09/2011 $ awk -vRS=")" -F"(" '{ for(i=1;i<=NF;i+=2) {print $i}}' ORS="" file John Doe 09/12/2009 555-555-5555 Jane Smith 09/12/2009 555-555-5555 Alfred doe 555-555-5555 09/09/2011 $ sed -r 's/\(.[^)]*\)//g' file John Doe 09/12/2009 555-555-5555 Jane Smith 09/12/2009 555-555-5555 Alfred doe 555-555-5555 09/09/2011 $ awk '{gsub(/\(.[^)]*\)/,"") }1' file John Doe 09/12/2009 555-555-5555 Jane Smith 09/12/2009 555-555-5555 Alfred doe 555-555-5555 09/09/2011 

Si Perl va bien, vous pouvez faire:

 $ cat file John Doe (Tech Department) 09/12/2009 555-555-5555 Jane Smith 09/12/2009 555-555-5555 (Suspended) Alfred doe 555-555-5555 (Vacation) 09/09/2011 $ perl -pe 's/\(.*?\)//g' file John Doe 09/12/2009 555-555-5555 Jane Smith 09/12/2009 555-555-5555 Alfred doe 555-555-5555 09/09/2011 

Le plus simple est une commande sed une ligne:

 $ sed -e '/[()]/d' file John Doe 09/12/2009 555-555-5555 Jane Smith 09/12/2009 555-555-5555 Alfred doe 555-555-5555 09/09/2011