Récupérer deux extraits d'une ligne depuis un fichier texte

[Résolu/Fermé]
Signaler
Messages postés
17
Date d'inscription
lundi 27 août 2012
Statut
Membre
Dernière intervention
1 octobre 2013
-
Messages postés
18289
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
17 octobre 2021
-
Bonjour,

Je souhaite extraire deux lignes au même temps depuis un fichier texte au lancement de mon script.

J'arrive à récupérer le premier avec ;

for code in 'cat $MON_FICHIER | cut -c106-122 | sort -u' ; do ; echo $code

Pour le deuxieme je dois peut etre utilier une boucle for mais je n'arrive pas. Voici la ligne du deuxième code :

code2 in 'cat $MON_FICHIER | cut -c1936-1970 | sort -u'; do ; echo $code2

Avez vous des pistes ? Puis-je utiliser une boucle for ou bien il y a d'autres méthodes plus simples ?

Merci d'avance,

2 réponses

Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
Salut,

Euh... t'aurais pas un exemple concret de ton fichier avec les lignes à extraire plutôt ?
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
Donc c'est que ce n'est pas le bon offset ;-(
Messages postés
17
Date d'inscription
lundi 27 août 2012
Statut
Membre
Dernière intervention
1 octobre 2013

résolu ;)
Messages postés
17
Date d'inscription
lundi 27 août 2012
Statut
Membre
Dernière intervention
1 octobre 2013

Pas fini encore :(

Je dois récupérer les deux infos pour chaque ligne de mon fichier texte en sachant que les lignes sont quasiment identiques

Dans ce cas je dois mettre en place une boucle for or while ?
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
Je dois récupérer les deux infos pour chaque ligne de mon fichier texte en sachant que les lignes sont quasiment identiques
Ah non, ça ça ne marche pas ;-(
Ou elles sont identiques ou elles diffèrent, et dans ce dernier cas il faut adapter le traitement en fonction de chaque ligne ;-\

Qu'est-ce qui diffère exactement ?
La différence est-elle toujours la même ?

Sans en savoir plus difficile de t'aider plus concernant le traitement. Avec ce que tu nous donnes; je dirai qu'il faut partir sur un traitement (awk, sed, cut ?) sur ton fichier et puis faire une boucle sur ce qui en résulte...
Messages postés
17
Date d'inscription
lundi 27 août 2012
Statut
Membre
Dernière intervention
1 octobre 2013

Le format est le même donc on reste toujours dans les deux emplacements 106-122 et 1936-1970. Par contre l'information change ( incrémentation +1 à chaque passage à la ligne).

Je te remercie pour ta disponibilité. Je vais me débrouiller pour réussir le reste de l'exercice ;).

Bonne journée,
Messages postés
18289
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
17 octobre 2021
5 403
hello
avec awk et substr on peut utiliser des variables dans substr
$ awk '{print substr($0, 106, 16), substr($0, 810, 5)}' 3IEnNzaxj9K_expo_test.txt 
0643B30091300030 S2578
$