![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| se débarrasser des caractères spéciaux | vakharia Mahesh | UNIX et Linux Applications | 4 | 07-29-2008 02:36 PM |
| grep avec des caractères spéciaux | guruparan18 | UNIX Desktop for Dummies Questions & Réponses | 3 | 06-12-2008 06:58 AM |
| Grep avec des caractères spéciaux | Vashj | De programmation et de script Shell | 6 | 11-27-2007 06:51 AM |
| caractères spéciaux | nawnaw | UNIX pour les nuls Questions et réponses | 2 | 05-18-2004 04:17 PM |
| awk / sed avec des caractères spéciaux | apalex | De programmation et de script Shell | 5 | 05-06-2002 05:40 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Grep ne fonctionne pas - des caractères spéciaux?
J'ai un fichier que je suis le traitement avec une boucle à partir de tout, dans certains cas le grep /sed commande (chaînes de l'enregistrement | grep "errorDetail" | sed 's & errorDetail * \ (.*) \ (/ errorDetail \) .* & \ 1 &') fonctionne et produit des données et après je suis en certains, il ne l'est pas. J'ai inspecté les données dans les dossiers de l'échec, ils contiennent certainement la «errorDetail de terrain que je suis après. Je suis d'une forte suspicion que certains de ces documents contiennent des caractères que le grep n'aime pas. Toutefois, je ne sais pas qui chars. Il mai être certains caractère binaire qui est à l'origine du problème. Quand je mets chaque enregistrement thorugh s /[!@# \ $%^&*()]// g 'filename, certains des dossiers qui ont été de me donner des données incorrectes me donner le errorDetail. Cependant, pas tous. Toutes les idées comment je peux résoudre ce problème?
Dernière édition par gugs; au 07.31.2008 07:19 AM.. |
|
||||
|
Merci pour que cela fonctionne. Mais quel est le meilleur moyen pour?
Le sed commande a aidé à extraire les données Je veux, toutefois, je perd un peu de mise en forme c'est-à-dire d'espaces dans les mots. Il semble que ce qui est la cause du problème. Si je me convertir les données en utilisant sed s' / [^ a-zA-Z0-9] / / g 'il récupère les données que je veux. Si je convertis en utilisant s' / [^ a-zA-Z0-9 <>:]// g 'trop récupère les données que je veux. Cependant, lorsque je convertir les données en utilisant s' / [^ a-zA-Z0-9 <>:] / / g 'que lorsque je frappe le problème. Y at-il un moyen de subsituting de l'espace avec des caractères, les données extarct Je suis intéressé à convertir et ensuite le caractère de retour à l'espace?
|
|
||||
|
Il convient de travaux avec des espaces, aussi essayer d'exclure le TAB à l'intérieur des parenthèses. Pour obtenir un TAB, appuyez d'abord sur <Ctr>-V, puis sur la touche TAB. Si vous voulez convertir le premier espace à un autre caractère être sûr que ce caractère ne devrait pas être dans votre dossier. Un exemple de convertir l'espace à un trait de soulignement et le retour à un espace: Code:
sed -e 's/ /_/g' file -e 's/[^a-zA-Z0-9_]//g' -e 's/_/ /g' |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|