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

Prochaine révision
Révision précédente
informatique:txt [2015/05/13 11:44]
igor créée
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 13: Ligne 61:
    perl -ne 's/^(\S.*?)/\n$1/g' file    perl -ne 's/^(\S.*?)/\n$1/g' file
  
-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.1431510261.txt.gz · Dernière modification: 2018/07/29 09:08 (modification externe)