J'ai une expression grep en utilisant cygwin grep sur Win. Une fois que j'identifie la classe d'émoticônes, cependant, je veux les enlever des données. Cependant, la même expression ci-dessus dans une sed se traduit par une erreur de syntaxe (oui, je me rends compte que je pourrais utiliser/d au lieu de // g, mais cela ne fait pas de différence, j'obtiens toujours l'erreur.)Filtrage des émoticônes en utilisant sed
sed "s/\(\\,,/\|\\m/\|\\m/\\>\.</\\m/\|:u\)*//g"
la gamme complète est:
grep -a "\\,,/\|\\m/\|\\m/\\>\.</\\m/\|:u" all_fbs.txt | sed "s/\(\\,,/\|\\m/\|\\m/\\>\.</\\m/\|:u\)*//g" | sed "s/^/ROCKON\t/" > rockon_fbs.txt
le résultat est:
sed: -e expression #1, char 14: unknown option to `s'
Je sais que ça vient de l'expression régulière sed je demande à ce sujet b/c si je retire cette partie de la ligne complète, alors je ne reçois aucune erreur (mais, bien sûr, e Les émoticônes ne sont pas filtrées).
Merci à l'avance,
Steve
Hm, filtrer les émoticônes? Est-ce lié à [ce produit] (http://stackoverflow.com/questions/2890760)? :-) –
Non, ce n'est pas le cas. Si vous êtes vraiment curieux, ceci est lié à une classe AI où je dois étiqueter certaines données pour former un classificateur, mais évidemment je ne veux pas que le classificateur apprenne les émoticônes sur lesquelles je base les étiquettes! :) – Steve
Vous pouvez probablement obtenir 'sed' pour faire ce que' grep' est en train de faire et combiner les deux appels à 'sed':' sed -n '/ selector/{s /.../.../ g; s /^/.../; p} '> ... 'ou quelque chose comme ça. –