=====string===== ====Manipulation de string==== Récupérer le nième élément avec pour séparateur un délimiteur : echo "id:011676,sync:fuzzer07,src:011923.txt" | cut -d'.' -f 1 id:011676,sync:fuzzer07,src:011923 echo "id:011676,sync:.fuzzer07,src:011923.txt" | cut -d'.' -f 2 fuzzer07,src:011923 Récupérer du premier et le nième élément avec pour séparateur un délimiteur : echo "id:011676,sync:.fuzzer07,src:011923.txt" | cut -d'.' -f -2 id:011676,sync:.fuzzer07,src:011923 ====Récupérer le rendu d'une commande==== * Depuis la sortie standard : result=$(echo coucou) * Depuis la sortie erreur : result=$(echo coucou 2>&1 > /dev/null) * Depuis la sortie standard et erreur : result=$(echo coucou 2>&1) * Utiliser une variable multiligne : # Préserver les retours à la ligne echo "$result" # Ignorer les retours à la ligne echo $result * Faire une boucle d'une variable multiligne : * Tout d'un coup for doci in "$result" do echo $doci done * Mot par mot for doci in $result do echo $doci done * Ligne entière while read -r doci do echo $doci done <<< "$result" =====Fichiers===== ====Trouver les fichiers ayant le même nom mais une case différente==== find . | perl -ne 's!([^/]+)$!lc $1!e; print if 1 == $seen{$_}++' [[https://stackoverflow.com/questions/2109056/how-to-find-duplicate-files-with-same-name-but-in-different-case-that-exist-in-s|How to find duplicate files with same name but in different case that exist in same directory in Linux?]] {{ lang:bash:bash_-_how_to_find_duplicate_files_with_same_name_but_in_different_case_that_exist_in_same_directory_in_linux_-_stack_overflow_2020-04-27_10_55_51_am_.html |Archive du 21/01/2010 le 27/04/2020}} ====Supprimer le fichier le plus ancien si deux fichiers ont le même nom mais pas la même extension==== ls | sed 's/\(.*\)\..*/\1/' | sort | uniq -d | while read line; do rm "$(ls -t "$line."* | tail -1)"; done =====Auto complétion===== Ajouter au fichier ''.bashrc'' : _script() { # Commande à exécuter pour avoir la liste des possibilités. _script_commands=$(/path/to/your/script.sh -l) local cur COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=( $(compgen -W "${_script_commands}" -- ${cur}) ) return 0 } # script.sh est la commande qui va autoriser l'affichage des propositions. complete -o nospace -F _script script.sh [[https://askubuntu.com/questions/68175/how-to-create-script-with-auto-complete/483149#483149|How to create script with auto-complete?]] {{ :lang:bash:bash_-_how_to_create_script_with_auto-complete_-_ask_ubuntu_26_07_2022_11_46_19_.html |Archive du 17/10/2011 le 26/07/2022}}