![]() |
|
|
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 |
| chaîne de suppression, contenu variable, fixe les délimiteurs | rebelbuttmunch | De programmation et de script Shell | 2 | 03-24-2009 07:44 AM |
| c programme pour extraire du texte entre deux délimiteurs de certains fichier texte | kukretiabhi13 | High Level Programming | 7 | 12-03-2008 06:29 PM |
| Comment récupérer les données d'un fichier texte Unix | shikhakaul | De programmation et de script Shell | 4 | 01-25-2008 11:20 AM |
| convertir fichier XML en fichier texte (longueur fixe) | ram2s2001 | De programmation et de script Shell | 0 | 11-03-2005 01:28 AM |
| Insertion de nouvelle ligne, après un match de chaîne fixe | sunil_neha | De programmation et de script Shell | 6 | 04-13-2004 12:09 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Récupérer les lignes de match sur une chaîne de caractères fixe lenth fichier texte - NO délimiteurs
Salut
Je suis en train de chercher les lignes avec string match "0000001234" Fichier d'entrée ressemble à ci-dessous: 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 ici le scénario est, comme nous avons besoin pour aller chercher les lignes de match chaîne "0000001234" et d'imprimer les lignes dans un fichier séparé ... j'ai essayé avec la commande grep de grep ^ 09 fichier> fichier de sortie, il fonctionne bien que lorsque la chaîne commence en premier. S'il vous plaît quelqu'un peut m'aider à savoir comment nous pouvons faire ... |
|
||||
|
grep va travailler sur une ligne par ligne, de sorte grep ^ 09 fait exactement ce que vous avez demandé à le faire en trouvant une ligne qui commence par 09
Vous voudrez probablement utiliser awk, il serait le plus simple à faire. Si les données sont dans le même format que vous avez fournis, vous pourriez faire quelque chose comme ce qui suit: Code:
awk '$4 == "0000001234"' file Vous pouvez également utiliser grep dans les limites de mots: Code:
-bash-3.2$ cat test.txt 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 09 0 XXX 50000001234 Z 1 09 0 XXX 40000001234 Z 1 09 0 XXX 30000001234 Z 1 09 0 XXX 10000001234 Z 1 -bash-3.2$ grep "\<0000001234\>" test.txt 09 0 XXX 0000001234 Z 1 09 0 XXX 0000001234 Z 1 |
|
||||
|
Citation:
Merci pour votre aide si le fichier est comme ça 09 0 01000000001234 Z 1 09 0 01000000001234 Z 1 09 0 010050000001234 Z 1 09 0 010040000001234 Z 1 09 0 010030000001234 Z 1 09 0 010010000001234 Z 1 et maintenant je veux aller chercher le match des lignes avec des cordes "0000001234" c'est-à-dire la chaîne de recherche à partir du 10 e colonne de la colonne 19 et aller chercher les lignes |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|