Connexion

Besoin d'aide ? Une question ? Un avis ? Rejoignez nous sur notre salon IRC pour clavarder

Forum

Système et matériels » Installation et configuration [Réglé] Commande

loiCiol Membre non connecté

Rang

Avatar

Inscrit le : 28/07/2013 à 16h29

Messages: 423

Le 22/07/2020 à 13h35
Bonjour à toutes et à tous,
Je recherche la ligne de commande qui permet d'éditer un fichier long page par page.
Merci d'avance !
   
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3036

Le 22/07/2020 à 14h13
Éditer ?
En ligne de commande ?
Gros fichier ?

J'ai bien la réponse, mais je doute sérieusement que ce soit ce que tu désires.

Code BASH :
vi

[ i ] pour rentrer en mode insertion
[esc] pour quitter le mode
[:w] pour sauvegarder
[:q!] pour quitter même sans enregistrer
[:wq] pour sauvegarder et quitter.
   
Papoteur Membre non connecté

Rang

Avatar

Modérateur Équipe Mageia

Inscrit le : 03/10/2011 à 22h16

Localisation : Metz

Messages: 7816

Le 22/07/2020 à 14h14
Bonjour plus ou moins.
Si avec éditer, tu entends visualiser le contenu du fichier, alors ce qu'il te faut est la commande less, qui remplace la commande historique more.


Yves
   
loiCiol Membre non connecté

Rang

Avatar

Inscrit le : 28/07/2013 à 16h29

Messages: 423

Le 22/07/2020 à 16h26
Papoteur :
Bonjour plus ou moins.
Si avec éditer, tu entends visualiser le contenu du fichier, alors ce qu'il te faut est la commande less, qui remplace la commande historique more.
Il s'agit bien de cette commande.
Merci !
Mais comme je dois repérer une ligne particulière, je souhaite utiliser la commande : nl. Puis-je combiner avec less ?
La syntaxe devient :
Citation :
nl | less mon fichier
Edité par loiCiol Le 22/07/2020 à 16h27
   
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3036

Le 22/07/2020 à 18h24
Ah pas éditer, visualiser, donc pas vi.

Less est pas mal.

Ta ligne particulière, elle a une expression spéciale ? (sed? grep?) Elle est à une ligne spéciale (la première? la 36e ? head ? Tail ?) Elle contient un mot spéciale ? (Grep?) Elle fait partie d'un formatage spéciale (json, xml ?) (jq ?)

Il faut donner plus d'information. L'informatique, c'est très con, il faut être bien précis. C'est comme "je veux accrocher un cadre sur un mur", oui, mais un mur de brique ? De plaques de platres ? Les outil pour accrocher le cadre seront différents entre un marteau pour un clou et une pince pour des chevilles molly.
   
loiCiol Membre non connecté

Rang

Avatar

Inscrit le : 28/07/2013 à 16h29

Messages: 423

Le 22/07/2020 à 19h21
Jybz :
Ah pas éditer, visualiser, donc pas vi.


Ta ligne particulière, elle a une expression spéciale ? (sed? grep?) Elle est à une ligne spéciale (la première? la 36e ? head ? Tail ?) Elle contient un mot spéciale ? (Grep?) Elle fait partie d'un formatage spéciale (json, xml ?) (jq ?)

Merci pour ta réponse !
Afin de corriger un fichier, je dois intervenir sur la ligne 32 et la ligne 832. Le fichier est très gros, plus 16 000 lignes. Avec less je ne vois rien.
Il me semble que l'accès au fichier, page après page, serait préférable.
Edité par loiCiol Le 22/07/2020 à 19h24
   
Yuusha Membre non connecté

Rang

Avatar

Inscrit le : 04/07/2017 à 19h52

Localisation : Gironde

Messages: 910

Le 22/07/2020 à 19h54
loiCiol :
Afin de corriger un fichier, je dois intervenir sur la ligne 32 et la ligne 832. Le fichier est très gros, plus 16 000 lignes. Avec less je ne vois rien.
Il me semble que l'accès au fichier, page après page, serait préférable.

Si tu veux faire des modifications, la commande sed est ton amie. A utiliser précautionneusement, avec sed une fois que c'est fait pas moyen de revenir en arrière (sinon d'inverser la commande).
   
nic80 Membre non connecté

Rang

Avatar

Inscrit le : 06/08/2018 à 23h52

Messages: 2692

Le 22/07/2020 à 20h03
Bonjour,

Donc un truc comme ça devrait permettre de faire les choses ?

;-)

https://kb.iu.edu/d/adxw
   
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3036

Le 22/07/2020 à 21h50
Que donne ça

cp ./monfichier ./macopie
cat ./macopie | head -n 32 | tail -n 1

Si ce n'est pas privé, peux tu donner le contenu de la ligne 32 ?

Et ensuite, on essaiera une commande sed ( mais avant que sed devienne ton amie, il faut l'apprivoiser !)

Je ne teste pas là, mais j'imagine quelque chose du genre :
sed -i -e '32 s/.*$/laNouvelleLigne32/'
Ou
vi puis ":32" (j'ai un doute) etc
   
nic80 Membre non connecté

Rang

Avatar

Inscrit le : 06/08/2018 à 23h52

Messages: 2692

Le 22/07/2020 à 22h00
Bonjour,

Citation :
vi puis ":32"


on peut carrement faire

vi mon_fichier +32

Après je pense que c' est mieux en mode commande de faire un ":set number" pour avoir le numéro des lignes

mais après un "vi mon_fichier" , il est possible de faire un :numéro_de_ligne

   
marc-andré Membre non connecté

Rang

Avatar

Inscrit le : 29/09/2015 à 00h10

Localisation : cavaillon

Messages: 814

Le 22/07/2020 à 22h26
bonjour
dans "less" certaines commandes de "vim" fonctionnent, comme la recherche avec / chaîne_à_chercher
ou G pour aller à la fin et gg pour remonter au début
et pour se rendre à une ligne particulière, il me semble que
## G permet d' aller à la ligne n° ##
ensuite, pour faire la modification, c'est soit avec un changement avec la commande
:s/ancien/nouveau
soit faut entrez en mode édition avec i, entrez la modification et en sortir avec <esc>


ACER Aspire 64 bits 4 coeurs , 4 Go RAM , 1 To SATA, 1ssd 240 Gio ;
Mageia7.1 gnome fedora31 gnome, opensuse tumbleweed gnome
Liberté et sécurité sont les arguments classiques pour LINUX. En prime il y a aussi la dignité et la confiance ressentie depuis que je suis sous Mageia
   
loiCiol Membre non connecté

Rang

Avatar

Inscrit le : 28/07/2013 à 16h29

Messages: 423

Le 23/07/2020 à 16h04
Jybz :
Que donne ça

cp ./monfichier ./macopie
cat ./macopie | head -n 32 | tail -n 1

Citation :
cat ./macopie | head -n 32 | tail -n 1
donne : <extensions> que je ne sais pas traiter
Citation :
Si ce n'est pas privé, peux tu donner le contenu de la ligne 32 ?
J'accepte ta proposition.
Le fichier à corriger est un fichier de données geographiques au format .gpx que je vais t'envoyer par mail. Je vais joindre à cet envoi le fichier .odt de description des 2 erreurs qui concernent le fichier .gpx

Edité par loiCiol Le 23/07/2020 à 16h27
   
loiCiol Membre non connecté

Rang

Avatar

Inscrit le : 28/07/2013 à 16h29

Messages: 423

Le 24/07/2020 à 10h33
Jybz :

Citation :
Si ce n'est pas privé, peux tu donner le contenu de la ligne 32

Je t’envoies les fichiers

Edité par loiCiol Le 24/07/2020 à 10h40
   
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3036

Le 24/07/2020 à 17h59
Je n'ai rien reçu.
   
loiCiol Membre non connecté

Rang

Avatar

Inscrit le : 28/07/2013 à 16h29

Messages: 423

Le 24/07/2020 à 19h39
Jybz :
Je n'ai rien reçu.

A quelle adresse mail je te les envoie ?
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie