Comment afficher des chaines de caractère qui se suivent

Fermé
jakol - 25 juin 2019 à 15:57
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 26 juin 2019 à 11:48
Bonjour,
je dispose d'un ficher extraction.csv :

0670385S Ecole élémentaire Ecole primaire Home Strasbourg
0670388Z Ecole élémentaire Ecole primaire Work Strasbourg


Je souhaiterais extraire les données suivantes:

0670385S Ecole primaire Home Strasbourg
0670388Z Ecole primaire Work Strasbourg


j'ai essayé de faire un

awk '{print $1$4$5$6$7}' fichier.csv

mais le résultat n'est pas probant. Les caractères sont attachés

0670385SEcoleprimaireHomeStrasbourg
0670388ZEcoleprimaireWorkStrasbourg

Je regarderai les liens proposés par le modérateur...Je sais qu'il existe sed et grep mais je ne maîtrise pas ces commandes.

J'espère avoir un retour de votre part. Merci
jakol



Configuration: Windows / Chrome 75.0.3770.100
A voir également:

3 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié le 25 juin 2019 à 16:12
Bonjour,

Le plus simple est de rajouter des virgules, ainsi
awk
séparera les champs par des espaces.

awk '{print $1, $4, $5, $6, $7}' fichier.csv


Autre solution, si tes champs sont séparés par des espaces simples, tu peux utiliser
cut
:

cut -d" " -f1,4,5,6,7 fichier.csv


Bonne chance
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
25 juin 2019 à 16:12
hello
par défaut, virgule == 1 espace
awk '{print $1, $4, $5, $6, $7}' fichier.csv 
0
lEprofSonDkon Messages postés 211 Date d'inscription jeudi 13 décembre 2018 Statut Membre Dernière intervention 8 octobre 2022 13
25 juin 2019 à 16:27
salut,

en bash :
while read -ra ar; do echo "${ar[0]} ${ar[@]: -4}"; done <fichier.txt
0670385S Ecole primaire Home Strasbourg
0670388Z Ecole primaire Work Strasbourg
je mets
.txt
, parce que CSV = Comma-Separated Values
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
26 juin 2019 à 11:48
Même si tu as raison, on désigne souvent un fichier texte structuré en ligne et en colonnes ainsi, bien qu'il n'y ait pas forcément de virgules. On devrait en toute rigueur parler de fichiers fichiers DSV.

Mais c'est un abus de langage tellement répendu que le parseur dédié en python s'appelle bien csv, bien que le délimiteur est paramétrable...
https://docs.python.org/3/library/csv.html

Je pense que la cause de cet abus de langage est que l'extension
.csv
est souvent associées au niveau du système à un tableur contrairement aux extensions
.tsv
ou
.dsv
.

Merci toutefois pour cette remarque.
0