14 liens privés
Un exemple de script bash gérant des messages de types : normal, debug et error. Il inclus quelques options sympas.
Un signal est une sorte de notification envoyée à un processus lorsqu’un événement particulier a eu lieu. Plus concrètement, lorsqu’un programme ne répond pas dans votre terminal et que vous faites Ctrl+C, le système envoi le signal SIGINT au processus en cours lui signifiant d’interrompre séance tenante toute action.
Il est possible de piéger (trap) les signaux envoyés à un scipt bash pour en modifier le comportement. Par exemple, fermer une connexion ssh.
BASH, MariaDB : Lister les tables d'une base et compter leurs enregistrements · Documentation - Wiki
Comment passer des requêtes SQL en bash.
La commande join rejoint les lignes de deux fichiers partageant un champ commun de données.
Au moment de lancer la commande :
ssh adrien@192.168.21.106Le terminal me répond :
Unable to negotiate with 192.168.21.106 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dssL'astuce pour se connecter est d'ajouter un algorithme via l'option HostKeyAlgorithms
ssh adrien@192.168.21.106 -oHostKeyAlgorithms=+ssh-rsaLa connexion est alors possible
Usage :
sort [OPTION]... [FILE]... sort [OPTION]... --files0-from=F
Options utiles :
-b, --ignore-leading-blanks-d, --dictionary-order--> consider only blanks and alphanumeric characters-f, --ignore-case--> fold lower case to upper case characters-g, --general-numeric-sort--> compare according to general numerical value-i, --ignore-nonprinting--> consider only printable characters-M, --month-sort--> compare (unknown) < 'JAN' < ... < 'DEC'-h, --human-numeric-sort--> compare human readable numbers (e.g., 2K 1G)-n, --numeric-sort--> compare according to string numerical value-r, --reverse--> reverse the result of comparisons--sort=WORD--> sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V-c, --check, --check=diagnose-first--> check for sorted input; do not sort-u, --unique--> with-c, check for strict ordering; without-c, output only the first of an equal run
Usage
uniq [OPTION]... [INPUT [OUTPUT]]
Options utiles :
-c, --countcompte le nombre de chaque occurrence-d, --repeatedaffiche uniquement les lignes apparaissant plusieurs fois-i, --ignore-caseinsensible à la casse-u, --uniqueaffiche uniquement les lignes n'apparaissant qu'une seul fois
grep --text -o -P "DEBUT EXPORT INE +\d{2}/\d{2}/\d{4}\-\d{2}h\d{2}|\d+(\/\d+){5}" trt_exportIne.log | awk '{if (/^DEBUT/) {printf "\n"$0";"} else {printf $0}}'
grep recherche 2 motifs :
DEBUT EXPORT INE \d{2}/\d{2}/\d{4}\-\d{2}h\d{2}\d+(\/\d+){5}
awk traite ensuite le résultat :if (/^DEBUT/) {printf "\n"$0";"}recherche le motif déterminant le passage à la ligneelse {printf $0}par défaut, affiche tout le reste sur une même ligne
Usage de la commande :
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] -e PATTERN ... [FILE...]
grep [OPTIONS] -f FILE ... [FILE...]
Options utiles :
-
Forcer l'usage du fichier de recherche en mode texte -->
-a, --textquand grep veut le reconnaître comme un binaire. -
Fichier motif -->
-f fichier_motifou--file=fichier_motif -
Utilisation de modèles et regex
-e _PATTERN_peut être utilisé plusieurs fois dans la commande
-E _REGEX_peut être utilisé plusieurs fois dans la commande ?
-P _PERL REGEX_ -
Afficher plusieurs lignes avant/après correspondance :
-Bnnn, -B nnn, --after-context=nnn--> nnn lignes avant la correspondance
-Annn, -A nnn, --before-context=nnn--> nnn lignes après la correspondance
-nnn, -C nnn, --context=nnn--> nnn lignes avant et après la correspondance -
Arrête après avoir trouvé nnn corespondances :
-m nnn
---max-count=nnn -
Sensibilité à la casse -->
-i, --ignore-case -
Renvoyer les lignes non correspondantes -->
-v, --invert-match -
Compter le nombre de lignes correspondantes -->
-c, --count -
Renvoyer les nom des fichiers qui correspondent ou non au motif :
-L, --files-without-match
-l, --files-with-matches -
Afficher le nom du fichier -->
-H, --with-filename -
Ne pas afficher le nom du fichier -->
-h, --no-filename -
Afficher le numéro de la ligne trouvée -->
-n, --line-number -
Exclure des fichiers -->
--exclude-from=FILE -
Mode récursif -->
-r, --recursive -
Afficher uniquement la partie reconnue de la ligne -->
-o, --only-matching
ex. : grep -Hlir motif --> affiche le nom du fichier, le numéro de la ligne est insensible à la casse et balaye tous les fichiers du répertoire et des sous-répertoires pour trouver le motif.
- Colorer le résultat ->
--color=always
XmlStarlet est un outil permettant de nombreuses actions sur les fichiers xml.
La commande
xml ed -u "/xml/table/rec[@id=1]/numField" -v 0 xml/tab-obj.xml
... permet de modifier la valeur de l'élément numField de 1 à 0.