Pages : 1
#1 Le 10/11/2010, à 16:27
- Compte anonymisé
[RESOLU] Concaténation en bash
Bonjour à tous,
Je suis incompétent en bash, je fais donc appel à la communauté de mon forum préféré.
J'ai une chaîne de caractère, qui est toujours quasi identique:
xxxx-xxxx x x x x x
Les x sont des caractères numériques, ces chiffres peuvent parfois être élevées, et avoir donc plusieurs caractères (sauf le premier groupe, qui a toujours une composition identique), l'écart entre eux ces groupes est toujours le même.
Je voudrais les concaténé, et ainsi garder à ma guise le groupe voulu.
J'ai assez de mal a utiliser cut, et aussi grep..
Une petite aide?
Merci
Dernière modification par texcor (Le 10/11/2010, à 19:02)
#2 Le 10/11/2010, à 18:15
- frafa
Re : [RESOLU] Concaténation en bash
Bonjour,
tu veut faire quoi ?
reorganiser la totalité du fichier ou
reorganiser et n'afficher que certaines lignes ?
le plus simple est da passer par awk
exemple dans $var:
var="aaa-1111 a1 a2 a3 a4 a5
bbb-2222 b1 b2 b3 b4 b5
ccc-3333 c1 c2 c3 c4 c5"
echo -e "${var}" | awk -F" " '{print "debut " $1 " ajout de texte " $3 " fin"}'
exemple dans fichier:
awk -F" " '{print "debut " $1 " ajout de texte " $3 " fin"}' .../tonfichier
Résultat des 2 exemples:
debut aaa-1111 ajout de texte a2 fin
debut bbb-2222 ajout de texte b2 fin
debut ccc-3333 ajout de texte c2 fin
Hors ligne
#3 Le 10/11/2010, à 18:28
- Compte anonymisé
Re : [RESOLU] Concaténation en bash
Je ne travail pas dans un fichier, seulement une chaîne de caractère,
je voudrais en faite filtrer tout contenu sauf ce qui est entre les espaces, et cela par groupe.
ex:
xxxx-xxxx x 2 x 3 x
Filtrer tout, sauf le 2, ou le 3 (les seuls délimiteurs qu'il y a sont des espaces..)
#4 Le 10/11/2010, à 18:34
- frafa
Re : [RESOLU] Concaténation en bash
Exemple sans le champ 2:
var="xxxx-xxxx x 2 x 3 x"
awk -F" " '{print $1 " " $3 " " $4 " " $5 " " $6}' <<<"${var}"
Résultat:
xxxx-xxxx 2 x 3 x
Dernière modification par frafa (Le 10/11/2010, à 18:34)
Hors ligne
#5 Le 10/11/2010, à 19:02
- Compte anonymisé
Re : [RESOLU] Concaténation en bash
Merci beaucoup, j'ai pu finir mon script
#6 Le 10/11/2010, à 23:00
- Totor
Re : [RESOLU] Concaténation en bash
Bonsoir,
Voilà qui devrait suffir
var="xxxx-xxxx x 2 x 3 x"
echo "${var//[[:blank:]]}"
Dernière modification par Totor (Le 11/11/2010, à 18:12)
-- Lucid Lynx --
Hors ligne
#7 Le 11/11/2010, à 00:04
- frafa
Re : [RESOLU] Concaténation en bash
Héhé, encore une leçon,
Mreci Totor
Hors ligne