Outils pour utilisateurs

Outils du site


informatique:txt

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:txt [2015/05/15 08:40]
igor [Perl]
informatique:txt [2018/07/29 09:08] (Version actuelle)
Ligne 4: Ligne 4:
  
 On trouve d'autres éléments sur la page dédiée à [[informatique:vim|vim]]. On trouve d'autres éléments sur la page dédiée à [[informatique:vim|vim]].
 +
 +==== Une liste → une ligne ====
 +
 +Situation : on dispose d'une liste de chaînes de caractères, ou après chaque chaîne il y a un retour à la ligne. Mais on voudrait obtenir cette liste en une seule ligne, par exemple en séparant chaque chaîne par une virgule (typiquement une liste de noms ou de choses).
 +
 +<code vim>
 +un nom
 +un deuxième nom
 +une chose
 +une dernière chose
 +</code>
 +
 +Avec ''vim'', on peut utiliser la commande suivante :
 +
 +   :%s/\n/, /gc
 +
 +Le ''\n'' indique le retour chariot et le ''gc'' permet de faire le changement globalement, en demandant à chaque occurrence.
 +
 +À la fin de la liste, on se retrouve avec une virgule et un espace, mais c'est vite supprimé.
 +
 +==== Les virgules en fin d'élément de liste en espace insécable ====
 +
 +Situation, dans un document ``markdown`` :
 +
 +<code>
 +* un élément de liste,
 +* un autre élément de liste,
 +* un dernier élément de liste.
 +</code>
 +
 +La commande suivante :
 +
 +   %s/,\n/<\&nbsp;>\r/gc
 +
 +permet d'obtenir ce qui suit :
 +
 +<code>
 +* un élément de liste<&nbsp>;
 +* un autre élément de liste<&nbsp>;
 +* un dernier élément de liste.
 +</code>
 +
 +==== Éditer verticalement en mode visuel ====
 +
 +   - ``CTRL+v`` puis sélectionner la zone.
 +   - la touche ``c``, et taper le texte de remplacement
 +   - ``ESC`` pour sortir du mode visuel en appliquant le changement
 +
  
 ===== Perl ===== ===== Perl =====
Ligne 14: Ligne 62:
  
 Cette commande change toutes les lignes **ne** commençant **pas** par une espace (''\S''), par une ligne vide (''\n'') avant la ligne trouvée (''$1''). Cette commande change toutes les lignes **ne** commençant **pas** par une espace (''\S''), par une ligne vide (''\n'') avant la ligne trouvée (''$1'').
 +
 +===== sed =====
 +
 +Éditeur en ligne de commande très pratique pour la manipulation de fichier. Voir par exemple une modification de ''[[:informatique:serveur:wp#la_db|dump.sql]]''.
 +
 +==== Supprimer la ou les premières lignes ====
 +
 +<code bash>
 +sed -i '1,4d' <filename>
 +</code>
 +
 +source : https://stackoverflow.com/questions/2652338/how-do-i-delete-the-first-line-in-a-file
 +
 +==== Supprimer la dernier ligne ====
 +
 +<code bash>
 +sed -i '$d' <filename>
 +</code>
 +
 +source : http://sed.sourceforge.net/sed1line_fr.html
 +
 +===== Rechercher =====
 +
 +==== Une chaîne dans un ensemble de fichiers ====
 +
 +   grep -rnw '/path/to/somewhere/' -e "pattern"
 +
 +source : https://stackoverflow.com/questions/16956810/finding-all-files-containing-a-text-string-on-linux
 +
 +
 +
 +
 +
 +
 +
informatique/txt.1431672032.txt.gz · Dernière modification: 2018/07/29 09:08 (modification externe)