The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 07-31-2008
gugs gugs is offline
Registered User
  
 

Date d'inscription: juillet 2008
Posts: 44
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..
  #2 (permalink)  
Old 07-31-2008
Franklin52 Franklin52 is online now Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4,345
Pour exclure ces caractères, vous pouvez faire quelque chose comme:


Code:
sed 's/[^a-zA-Z0-9]//g' file

Place les caractères que vous souhaitez imprimer à l'intérieur des parenthèses.

Observe
  #3 (permalink)  
Old 07-31-2008
gugs gugs is offline
Registered User
  
 

Date d'inscription: juillet 2008
Posts: 44
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?
  #4 (permalink)  
Old 07-31-2008
Franklin52 Franklin52 is online now Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4,345
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'

Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 08:49 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0