Advertisement
IssouLinux

Useful_Oneliners

Feb 16th, 2022 (edited)
841
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.53 KB | None | 0 0
  1. ####################################
  2. # Manipulation du contenu des fichiers
  3. #Commandes qui modifient le contenu d'un fichier (ex: ajouter/supprimer des caractères, remplacer des chaînes, etc.)
  4. ####################################
  5.  
  6. # Sélectionner une plage de caractères dans chaque ligne d'un fichier
  7. cut -c 1-13 input.txt > output.txt
  8.  
  9. # Ajouter un préfixe à chaque ligne dans un fichier (en place)
  10. sed -i -e 's/^/prefix/' file
  11.  
  12. # Ajouter un préfixe à chaque ligne dans un fichier (nouveau fichier)
  13. sed -e 's/^/prefix/' file > file.new
  14.  
  15. # Ajouter un suffixe à chaque ligne dans un fichier
  16. sed -i -e 's/$/suffix/' filename
  17.  
  18. # Supprimer le premier caractère de chaque ligne
  19. sed -i 's/^.\{1\}//' filename
  20.  
  21. # Supprimer le dernier caractère de chaque ligne
  22. sed -i 's/.$//' filename
  23.  
  24. # Supprimer la première ligne d'un fichier
  25. sed -i 1d filename.txt
  26.  
  27. # Supprimer les 10 premières lignes d'un fichier
  28. sed -i 1,10d filename.txt
  29.  
  30. # Supprimer une plage de lignes spécifique et une ligne précise
  31. sed -i '5,10d;12d' file
  32.  
  33. # Remplacer la 2ème ligne avec un nouveau contenu
  34. sed -i '2s/.*/New 2nd line/' myfile
  35.  
  36. # Ajouter une chaîne à une ligne spécifique (ex : première ligne)
  37. sed -i "1i new string added on the first line" file
  38.  
  39. # Supprimer des caractères spéciaux (ex: " ) dans un fichier
  40. sed -i 's/"//g' filename
  41.  
  42. # Supprimer un mot spécifique dans un fichier
  43. sed -i 's/\<WordToDelete\>//g' filename.txt
  44.  
  45. # Supprimer les lignes contenant une chaîne spécifique
  46. sed -i '/pattern to match/d' ./infile
  47.  
  48. # Extraire des lignes spécifiques d'un fichier
  49. sed -n '5p;10p' input > output
  50.  
  51. # Extraire une plage de lignes spécifique d'un fichier
  52. sed -n '5,10p' input > output
  53.  
  54. # Supprimer les caractères ASCII non imprimables
  55. tr -cd '\11\12\15\40-\176' < file-with-binary-chars > clean-file
  56.  
  57. # Supprimer les lignes de 3 caractères ou moins
  58. sed -i -r '/^.{,3}$/d' filename
  59.  
  60. # Supprimer les lignes de 25 caractères ou plus
  61. sed -i -r "/.{25,}/d" filename
  62.  
  63. # Supprimer les lignes vides
  64. sed -i '/\S/!d' filename.txt
  65.  
  66. # Supprimer les lignes commentées (#)
  67. sed -i '/^#/d' filename.txt
  68.  
  69. # Supprimer les espaces en début et fin de ligne
  70. sed -i 's/^[\t ]*//g;s/[\t ]*$//g' filename
  71.  
  72. # Supprimer les espaces en fin de ligne
  73. sed -i 's/[\t ]*$//g' filename
  74.  
  75. # Supprimer les espaces en début de ligne
  76. sed -i 's/^[\t ]*//g' filename
  77.  
  78. # Supprimer les premiers x caractères de chaque ligne (ex: les 2 premiers)
  79. sed -i 's/^..//' filename
  80.  
  81. # Remplacer une chaîne par une autre dans un fichier (méthode 1)
  82. sed -i 's/find/replace/' *.csv
  83.  
  84. # Remplacer une chaîne par une autre dans plusieurs fichiers (méthode 2)
  85. grep -rl matchstring ./ | xargs sed -i 's/string1/string2/g'
  86.  
  87. # Ajouter un suffixe à des fichiers texte
  88. for f in *.txt; do mv "$f" "${f%.mp3}_SUFFIXE.mp3"; done
  89.  
  90. # Remplacer les espaces dans les noms de fichiers par des underscores
  91. find ./ -depth -name "* *" -exec rename 's/ /_/g' "{}" \;
  92.  
  93. # Supprimer les espaces dans les noms de fichiers
  94. rename "s/ *//g" *
  95.  
  96. # Supprimer les points dans les noms de fichiers
  97. find -name "*.*.*" | xargs -I % bash -c 'mv "%" "$(echo "%" | sed "s|^./||;:a;s/\.\([^.]\+\)\./\1./;ta")"'
  98.  
  99. ####################################
  100. # Manipulation des noms de fichiers
  101. #Commandes qui modifient les noms des fichiers (ex: renommer, ajouter des préfixes/suffixes, supprimer des espaces, etc.).
  102. ####################################
  103.  
  104. # Renommer des fichiers en ajoutant un préfixe
  105. rename 's/^/PREFIXE_/' *
  106.  
  107. # Ajouter un suffixe aux noms de fichiers
  108. for file in *; do mv "$file" "$(basename "$file")SUFFIXE"; done;
  109.  
  110. # Renommer tous les fichiers commençant par "a" en "b"
  111. mmv a\* b\#1
  112.  
  113. # Renommer des fichiers en ajoutant un numéro (ex: 01_fileA)
  114. n=1; for f in *.txt; do mv "$f" "0$((n++))_$f"; done
  115.  
  116. ##################################################
  117. # Recherche, extraction et manipulation de contenu
  118. #Commandes liées à la recherche de contenu dans les fichiers, à l'extraction et à la manipulation de ce contenu.
  119. ##################################################
  120.  
  121. # Extraire toutes les URLs d'un fichier
  122. grep -o -E "https?://[][[:alnum:]._~:/?#@!$&'()*+,;%-]+" file | grep "twitter" > liste_tweets
  123.  
  124. # Extraire toutes les adresses email d'un fichier
  125. grep -oe "[a-zA-Z0-9._]\+@[a-zA-Z]\+.[a-zA-Z]\+" input > output
  126.  
  127. # Rechercher un motif spécifique dans un CSV et extraire les lignes
  128. awk -F\; '$20 == "keyword"' *.csv        
  129.  
  130. # Trouver des fichiers contenant une chaîne et les déplacer
  131. grep -l 'string' *.pdf | xargs -I % mv % /dest/folder
  132. mv $(grep -lir 'string' ~/directory/*) destination/
  133.  
  134. # Trouver et supprimer des fichiers contenant une chaîne spécifique
  135. grep -l --null 'specific_string' ./* | xargs -0 rm
  136.  
  137. # Compter le nombre d'occurrences d'un mot dans un fichier texte
  138. grep -o -i mauris example.txt | wc -l
  139.  
  140. # Extraire les fichiers contenant un motif et les copier/déplacer
  141. for i in $(grep -i "123456" *.ini); do mv "${base_fname}.ini" "${base_fname}.txt" /dest/folder; done
  142.  
  143. # Extraire les fichiers contenant des motifs multiples et les copier/déplacer
  144. for i in $(grep -i "123\|456\|789" *.ini); do mv "${base_fname}.ini" "${base_fname}.txt" /dest/folder; done
  145.  
  146. # Extraire des fichiers à partir d'une liste de motifs et les copier/déplacer
  147. for i in $(grep -f ~/test/file.txt *.ini); do cp "${base_fname}.ini" "${base_fname}.txt" /dest/folder; done
  148.  
  149. ##########################################################
  150. # Manipulation et analyse de fichiers (tri et duplication)
  151. #Commandes pour trier, supprimer ou gérer les doublons dans des fichiers.
  152. ##########################################################
  153.  
  154. # Supprimer les doublons tout en préservant l'ordre
  155. awk '!(count[$0]++)' old.txt > new.txt
  156.  
  157. # Supprimer les doublons tout en préservant l'ordre du texte
  158. awk '!_[$0]++' old.txt > new.txt
  159.  
  160. # Trier et montrer les lignes uniques (sans doublons)
  161. sort file.txt | uniq -u
  162.  
  163. # Trier et compter les lignes uniques (sans doublons)
  164. sort file.txt | uniq -uc
  165.  
  166. # Trier et montrer les lignes dupliquées uniquement
  167. sort file.txt | uniq -d
  168.  
  169. # Trier et compter uniquement les lignes dupliquées
  170. sort file.txt | uniq -dc
  171.  
  172. # Trier par longueur (ordre décroissant)
  173. awk '{ print length($0) " " $0; }' <tonFichier> | sort -r -n | cut -d ' ' -f 2- > new.txt
  174.  
  175. # Trier par ordre alphabétique
  176. sort old.txt | uniq > new.txt
  177.  
  178. # Fusionner plusieurs fichiers texte en un seul
  179. cat file1.txt file2.txt > combined.txt
  180.  
  181. # Ne conserver que les lignes sans doublons dans un fichier CSV
  182. sort fichier.csv | uniq -u > fichier2.txt
  183.  
  184. #########################
  185. # Autres commandes utiles
  186. #Commandes diverses qui ne rentrent pas spécifiquement dans les catégories ci-dessus (ex: conversion de formats, téléchargement de fichiers, etc.).
  187. #########################
  188.  
  189. # Compresser une série de caractères identiques en un seul caractère
  190. tr -s 'input_characters' < filename > newfile
  191.  
  192. # Convertir le contenu d'un fichier en majuscules
  193. tr a-z A-Z < filename > newfile
  194.  
  195. # Convertir un séparateur de tabulation en virgules dans un CSV
  196. cat input.csv | tr "\\t" ";" > output.csv
  197.  
  198. # Convertir un fichier CSV en texte avec des séparateurs de tabulation (csvkit)
  199. csvformat -T input.csv > output.txt
  200.  
  201. # Télécharger tous les fichiers d'un format spécifique via wget
  202. wget -c -A '*.mp3' -r -l 1 -nd
  203.  
  204. # Créer un fichier texte avec une plage de nombres (ex: de 1 à 1000)
  205. seq 1 1000 > numbers.txt
  206.  
  207. # Créer un fichier texte avec une plage de nombres incrémentée de 5
  208. seq 5 5 1000 > numbers.txt
  209.  
  210. # Compter le nombre de pages dans des fichiers PDF
  211. exiftool *.pdf | grep 'Page Count' | cut -c35-
  212.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement