logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 14-08-2020 13:19:44

MdgRUN
Membre
Lieu : Plaine des Cafres
Distrib. : Bullseye
Noyau : 5.10....et+
(G)UI : Lxqt
Inscription : 27-09-2016

Awk ....que ce serait bien.....

Bonjour,
dans un fichier texte j'essaie de supprimer les  11 premières colonnes  des lignes  10 à 13......et de quelques lignes plus bas.

Sur plusieurs lignes de ce fichier, il s'agit d'effacer les 11 premiers caractères.

Je n'ai pas trouvé l'astuce avec VIM mais je suis prêt à changer d'éditeur de texte et/ou  employer toute combinaison de commandes
qu'il vous plaira merci.gif

**Donnez une poignée de sable à un poète,il en fera des étoiles **

Hors ligne

#2 14-08-2020 13:34:20

yap22
Membre
Lieu : Bro Dreger (Breizh)
Distrib. : Debian stable
(G)UI : Xfce
Inscription : 29-02-2016

Re : Awk ....que ce serait bien.....

Bonjour,

Dans Vim, pour effacer 11 caractères tu te places sur le premier à effacer et tu tapes 11x. Ce sera à répéter sur chacune des lignes.

Tu peux aussi utiliser le mode visuel si tu dois effacer x caractères sur y lignes successives, tu tapes Ctrl + v et tu sélectionnes la zone à supprimer avec les flèches de déplacement, tu supprimera la zone sélectionnée avec x

Hors ligne

#3 14-08-2020 13:48:34

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : Awk ....que ce serait bien.....

Je suis pas sûr de comprendre. Les 11 premières colonnes c'est les 11 premiers caractères hein ? yikes

Si oui :

awk '{ if(NR>=10 && NR<=13) print substr($0,11+1); else print $0}' monfichier.txt



"Si la ligne est comprise entre 10-13, afficher la ligne ($0) sans les 11 premiers caractères (substr($0,11+1)); sinon afficher la ligne entière." (le +1 à substr c'est pour la lisibilité, substr avec 1 ne coupe rien)

NOTE : je suis un total débutant avec awk, j'ai appris les bases cette semaine en hackant des exemple de Manon wink

Dernière modification par otyugh (14-08-2020 13:55:08)


virtue_signaling.pngpalestine.png

Hors ligne

#4 17-08-2020 11:27:25

MdgRUN
Membre
Lieu : Plaine des Cafres
Distrib. : Bullseye
Noyau : 5.10....et+
(G)UI : Lxqt
Inscription : 27-09-2016

Re : Awk ....que ce serait bien.....

Bonjour et merci pour la réactivité.

Désolé si mon titre à pu faire penser que je cherchais une  solution à partir de AWK.....et autre complices (SED....)
Super ta traduction OTYUGH...parce que je ne dois pas être plus avancé que toi /awh  :/
Quant à Manon.....où sont les sources ? out.gif

@Yap22 : J'avais déjà fait des sélections en visuel......qui concernent les lignes entières :(  alors que je cherchais à sortir des portions de lignes .

Quant à répéter la manœuvre ligne par ligne........ma flemme assumée a toujours tablée sur la programmation possible  ......
....entre gens de bonne compagnie, of course  :lol:

Le W..E portant conseil, voici LES (si, si....avec un vrai W.E. ) solutions trouvées:

Supprimer par exemple "Avirer" d’un fichier de la ligne 36 à 53 :
:36,53 s/^Avirer//

Supprimer les colonnes 3 à 5 des lignes 5 à 8 :
:5,8!colrm 3 5

Supprimer les colonnes 3 à 5 pour tout le fichier :
:%!colrm 3 5

Ma source : peterscheie.com/unix/vi_del_columns.html

Si d'autres fan's de VIM ont des suggestions, au cas où des adeptes d'EMACS auraient des équivalents, ....pour permettre à Otyugh de pousser
AWK dans ses retranchements je m'abstiens à ce stade de porter ce sujet "résolu " :D

**Donnez une poignée de sable à un poète,il en fera des étoiles **

Hors ligne

#5 17-08-2020 11:52:32

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : Awk ....que ce serait bien.....

dans un fichier texte j'essaie de supprimer les  11 premières colonnes  des lignes  10 à 13......et de quelques lignes plus bas.


T'as pas précisé avec quel outil wink
Si tu as des milliers de fichiers à traiter, ma commande le fait en une seconde, pas tes éditeurs de texte, à priori tongue

Quant à Manon.....où sont les sources ?


J'ai pas compris la blague. Mais elle maîtrise pas mieux awk que moi à priori. Elle a hacké des exemples à sa convenance et je suis tombé dessus par hasard dernièrement et je me suis mis à bidouillé avec à mon tour, c'est tout wink (voir le topic sur genmon)...

Dernière modification par otyugh (17-08-2020 11:53:36)


virtue_signaling.pngpalestine.png

Hors ligne

#6 17-08-2020 18:37:58

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : LightDM et Xfce4.18
Inscription : 29-04-2015

Re : Awk ....que ce serait bien.....

otyugh a écrit :



Quant à Manon.....où sont les sources ?


J'ai pas compris la blague.



Il suffit pourtant de suivre la chèvre... tongue


Tousse antique Ovide !

Hors ligne

#7 17-08-2020 19:09:17

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : Awk ....que ce serait bien.....

Manon des sources (film, 1986)


Pour ma défense, je n'étais pas né X_X


virtue_signaling.pngpalestine.png

Hors ligne

#8 17-08-2020 20:21:17

David5647
Membre
Distrib. : Debian Sid
Noyau : 5.15.0-2-amd64
(G)UI : i3wm + des bouts de kde
Inscription : 27-08-2017

Re : Awk ....que ce serait bien.....

souvent j'utilise les macros avec "q" + une lettre.

Par exemple, pour enregistrer, taper la séquence :
q a 0 11 x j q
trad : j'enregistre la macro "a", je me mets en début de ligne et supprime 11 caractères, je me mets sur la ligne du dessous, fin de la séquence a

puis @a pour appliquer la macro a
ou @@ pour réappliquer la dernière macro
ou 3@a pour appliquer 3x (d'où le saut de ligne)

ou encore, une variante du #4 :

:36,53 s/^.\{11\}//g

Hors ligne

#9 17-08-2020 20:34:57

nam1962
Banni(e)
Distrib. : Manjaro, Debian, Xebian, Yunohost
Noyau : Ca dépend
(G)UI : Xfce
Inscription : 02-08-2017

Re : Awk ....que ce serait bien.....

otyugh a écrit :

Pour ma défense, je n'étais pas né X_X



Eh bien tu aurais du te démerder pour l'être, non mais ! out.gif


Pour la question, je dis peut-être une bêtise, mais que donnerait l'utilisation de cut ?

Dernière modification par nam1962 (23-08-2020 15:36:23)


Almanet doLys de l'open source : mon tuto pour optimiser / finaliser une install
Manjaro Xfce - Debian Xfce - Yunohost - Xebian Et vous ?
61 convertis  IRL (n'ont pas eu le choix...).

Hors ligne

#10 23-08-2020 12:35:31

MdgRUN
Membre
Lieu : Plaine des Cafres
Distrib. : Bullseye
Noyau : 5.10....et+
(G)UI : Lxqt
Inscription : 27-09-2016

Re : Awk ....que ce serait bien.....

CUT ?.....je ne sais pas non plus mais j'ai trouvé une référence à SED:

:%s/^\([[+|][^+|]\+\)[+|][^+|]\+/\1/

Depuis : stackoverflow.com/questions/10514864/de … block-mode

Je préfère solliciter les ressources de VIM et aller dans le sens de DAVID5647 yes.gif

En ce qui me concerne je passais en mode VISUEL pour sélectionner la
colonne à l'aide des touches directionnelles(que ce soit de haut en bas ou
inversement) avec Ctrl+I pour effacer et retrouver le mode INSERTION de VIM.

Dans ma première référence, la commande "colrm" n'est pas reconnu par VIM   scratchhead.gif

Et maintenant,sans vouloir remettre OTYUGH sur la défensive  :)  la trouvaille du W.E. .....qui ne coulait pas de source old_geek.gif

:set virtualedit=all

grâce au lien:

david.blanchet.free.fr/vim/doc/fr62017/ … .html#25.5

A noter que c'est sous licence OPL ("Open Publication License") qui s'applique à l'intégralité de
la documentation de Vim.

La licence Vim est compatible avec la LGP GNU. (RMS dixit).....mais c'est un autre sujet gnulinux.png

Comme quoi les petits ruisseaux font les grandes rivières ... :D  et si ce fil peut compléter :

debian-facile.org/doc:editeurs:vim:tableau coffeecup.gif

Dernière modification par MdgRUN (23-08-2020 12:44:35)


**Donnez une poignée de sable à un poète,il en fera des étoiles **

Hors ligne

Pied de page des forums