#1 Le 09/03/2020, à 11:04
- kevino_linux
Supprimer le même texte plusieurs fois dans une colonne
Bonjour à toute la communauté
Voici mon soucis.
J'ai un fichier éditable qui ressemble à ceci :
data_
loop_
_rlnCtfPowerSpectrum #1
_rlnMicrographName #2
_rlnMicrographMetadata #3
_rlnOpticsGroup #4
_rlnAccumMotionTotal #5
_rlnAccumMotionEarly #6
_rlnAccumMotionLate #7
MotionCorr/job002/in24981-8/raw/Images-Disc1/GridSquare_5311584/Data/FoilHole_5366060_Data_5320469_5320471_20200209_004256_fractions_PS.mrc MotionCorr/job002/in24981-8/raw/Images-Disc1/GridSquare_5311584/Data/FoilHole_5366060_Data_5320469_5320471_20200209_004256_fractions.mrc MotionCorr/job002/in24981-8/raw/Images-Disc1/GridSquare_5311584/Data/FoilHole_5366060_Data_5320469_5320471_20200209_004256_fractions.star 1 96.051383 29.877908 66.173476
MotionCorr/job002/in24981-8/raw/Images-Disc1/GridSquare_5311584/Data/FoilHole_5366061_Data_5320469_5320471_20200209_004418_fractions_PS.mrc MotionCorr/job002/in24981-8/raw/Images-Disc1/GridSquare_5311584/Data/FoilHole_5366061_Data_5320469_5320471_20200209_004418_fractions.mrc MotionCorr/job002/in24981-8/raw/Images-Disc1/GridSquare_5311584/Data/FoilHole_5366061_Data_5320469_5320471_20200209_004418_fractions.star 1 91.289716 23.957087 67.332629
Ma question est la suivante : comment pourrais-je faire pour supprimer spécifiquement la colonne #4 (qui est en gras), correspondant au "1" en gras sur toutes mes lignes (j'en ai environ 5000) ?
Je n'ai collé ici que deux lignes en guise d'exemple.
D'avance merci et bonne journée :-)
Hors ligne
#2 Le 09/03/2020, à 11:13
- Watael
Re : Supprimer le même texte plusieurs fois dans une colonne
salut,
quand il s'agit de colonnes, il faut demander à (G)awk.
c'est une langage très abordable, comme le shell.
ta demande est très fréquente, tu trouveras rapidement une solution en cherchant sur le net.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 09/03/2020, à 11:23
- pingouinux
Re : Supprimer le même texte plusieurs fois dans une colonne
Bonjour,
Cette commande supprime la 4ème colonne sur toutes les lignes, et va ajouter ou supprimer des espaces à certaines lignes. Est-ce ce que tu veux ?
awk '{$4="";print}' fichier_original >fichier_modifie
Hors ligne
#4 Le 09/03/2020, à 11:41
- kevino_linux
Re : Supprimer le même texte plusieurs fois dans une colonne
Pingouinux,
Merci pour ta réponse !
Ça a marché, et le fait que ça supprime certains espaces n'influent pas avec mon logiciel de traitement.
Par curiosité, c'est possible de ne pas ajouter/supprimer les espaces afin de garder une structure identique au fichier original ?
Hors ligne
#5 Le 09/03/2020, à 11:55
- pingouinux
Re : Supprimer le même texte plusieurs fois dans une colonne
Par curiosité, c'est possible de ne pas ajouter/supprimer les espaces afin de garder une structure identique au fichier original ?
Oui, mais c'est plus compliqué (et plus cher…) :
sed -r 's/(([^ ]+ +){3})([^ ]+ +)/\1/' fichier_original >fichier_modifie
Hors ligne