Je résolvez un travail de coque qui consiste à décrypter un code. J'ai traité le texte et suis arrivé à la fois lorsque je séparais les mots de chaque ligne différente, c'est-à-dire un mot par ligne. J'ai des indices que 3 mots de caractère représentent des lettres et 2 caractères représentent des symboles. Je veux mettre les 3 mots de caractère dans une variable, puis remplacer ces mots avec des lettres dans la commande de fréquence (en commençant par "E", etc.). Mon souhait est d'exclure les mots de deux caractères et de garder uniquement des mots de 3 caractères.
J'ai essayé SED de beaucoup de manières en modifiant le code, P>
apb aph api api app app app app app app
4 Réponses :
Pourriez-vous s'il vous plaît essayer de suivre. Si vous allez bien avec awk code> solution.
awk '/^...$/' Input_file
or
awk '!/^..$/' Input_file
Ou plus court, awk '/^...$/' INPUT_FILE CODE> (bien que techniquement cela ne supprime pas les lignes de 2 caractères)
@ Davidc.Rankin, merci d'avoir ajouté ceci en commentaires, je les ai ajoutés dans mon poteau aussi, acclamations.
Longueur ($ 0) == 2 {NEXT} 1 code> est identique à la longueur
! = 2 code>.
Comment supprimer des mots avec exactement 2 caractères à l'aide de la commande sed code>. Ce
awk '/^...$/' Code> Ne conservera que trois chartes, donc techniquement erronés comparer à la demande. Cela ne tiendra que 3 caractères et supprimera tous les autres.
Voici quelques façons, en supposant que le fichier d'entrée s'appelle 23.txt em>: p>
grep -v '^ $' 23.txt code> montre des lignes qui ne sont pas 2 caractères " p> li>
grep '^ ... $' 23.txt code> montre uniquement des lignes qui sont 3 caractères longs. p> li>
sed -n '/^..$/!P' 23.txt code> imprime des lignes qui ne sont pas 2 caractères longs. p> li>
sed '/^..$/d' 23.txt code> Supprime des lignes qui ne sont pas 2 caractères longes de la sortie. P> LI>
ol>
Un autre awk code>
Lorsque vous n'avez que des lignes avec 2 ou 3 caractères, sélectionnez les lignes avec au moins 3 caractères:
Si vous avez un mot par ligne, sans blanchiment, essayez
sed '/^..$/ d' code>
Vous devez indenter le code avec 4 espaces ou mettre des backtstic triple sur les lignes avant et après.
Je ne me souviens pas d'où j'ai appris à ce sujet, mais Voici une bonne introduction .