#1 Le 13/05/2022, à 16:01
- kevino_linux
[RESOLU] Supprimer chaine de caractères au sein du shell
Bonjour à tous,
J'ai besoin de supprimer une chaine de caractère spécifique au sein d'un de mes fichiers.
Il est composé d'une infinité de ligne, et de 17 colonnes, et la colonne 2 ressemble à ceci :
MotionCorr/job022/Movies_0deg/FoilHole_28182500_Data_28178779_28178781_20220228_204122_fractions_patch_aligned_doseweighted.mrc
J'aimerais supprimer uniquement _patch_aligned_doseweighted à la fin, pour que la colonne devienne MotionCorr/job022/Movies_0deg/FoilHole_28182500_Data_28178779_28178781_20220228_204122_fractions.mrc
J'ai tenté plusieurs choses avec sed, mais j'échoue systématiquement, soit je supprime la ligne entière, soit je supprime tout à partir de "FoilHole".
Toute aide serait la bienvenue, et merci d'avance
Dernière modification par kevino_linux (Le 13/05/2022, à 16:31)
Hors ligne
#2 Le 13/05/2022, à 16:23
- kevino_linux
Re : [RESOLU] Supprimer chaine de caractères au sein du shell
Pour être un peu plus précis, et vous expliquer où je bloque voici un exemple d'une ligne entière
000001@J1217/extract/000007369088475821036_FoilHole_28182500_Data_28178779_28178781_20220228_204122_fractions_patch_aligned_doseweighted_particles.mrcs MotionCorr/job022/Movies_0deg/FoilHole_28182500_Data_281787
79_28178781_20220228_204122_fractions_patch_aligned_doseweighted.mrc 1970 1597 -163.233780 56.703899 -102.432137 0.994219 -0.426094 15803.401367 15663.258789 -21.097397 0.000000 0.000000 1 2 1
Comme vous pouvez le voir en gras, il y a deux fois la mention "_patch_aligned_doseweighted" aux colonnes 1 et 2.
La commande sed -e "s|_patch_aligned_doseweighted||g" fichier > fichier modifié me supprime la chaine de caractère sur les 2 colonnes.... tandis que je veux la supprimer seulement sur la colonne 2.
Merci,
Hors ligne
#3 Le 13/05/2022, à 16:30
- kevino_linux
Re : [RESOLU] Supprimer chaine de caractères au sein du shell
J'ai finalement réussi avec
sed "s/_patch_aligned_doseweighted.mrc/.mrc/g" fichier > fichier_modifie
Hors ligne
#4 Le 13/05/2022, à 16:32
- xubu1957
Re : [RESOLU] Supprimer chaine de caractères au sein du shell
Bonjour,
Au #2 :
000001@J1217/extract/000007369088475821036_FoilHole_28182500_Data_28178779_28178781_20220228_204122_fractions_patch_aligned_doseweighted_particles.mrcs MotionCorr/job022/Movies_0deg/FoilHole_28182500_Data_281787
79_28178781_20220228_204122_fractions_patch_aligned_doseweighted.mrc 1970 1597 -163.233780 56.703899 -102.432137 0.994219 -0.426094 15803.401367 15663.258789 -21.097397 0.000000 0.000000 1 2 1
Tu devrais te servir du Retour utilisable de commande, pour fournir les informations.
Voir règles du forum > balises BB code
Balise CODE :
C'est la balise à utiliser pour donner de longs messages d'erreurs, des contenus de fichiers de configuration, des commandes à taper, etc … Elle permet des messages plus "compacts", et est moins ambiguë que d'autres polices sur certains caractères.
Dernière modification par xubu1957 (Le 13/05/2022, à 16:46)
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
Hors ligne
#5 Le 13/05/2022, à 16:43
- Watael
Re : [RESOLU] Supprimer chaine de caractères au sein du shell
J'ai finalement réussi avec
sed "s/_patch_aligned_doseweighted.mrc/.mrc/g" fichier > fichier_modifie
quand il s'agit de travailler sur des colonnes, on peut préférer awk.
Dernière modification par Watael (Le 13/05/2022, à 16:43)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne