| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| linux:commands [2024/12/19 16:41] – [sed] add how to keep only delimited lines phsw | linux:commands [2025/11/07 22:21] (Version actuelle) – [sed] add how to print nth line after a matching line phsw |
|---|
| ====== Commandes Linux ====== | ====== Commandes Linux ====== |
| |
| Certaines commandes (''grep'', ''ls'', ...) acceptent en paramètre ''--color=always'' qui permet de garder les colorations lorsque les commandes sont pipées. Utile pour piper plusieurs ''grep'', par exemple. ([[https://superuser.com/questions/923275/how-can-i-make-grep-respects-colors-on-a-pipe|Source]]) | Certaines commandes (''grep'', ''ls'', ...) acceptent en paramètre ''%%--%%color=always'' qui permet de garder les colorations lorsque les commandes sont pipées. Utile pour piper plusieurs ''grep'', par exemple. ([[https://superuser.com/questions/923275/how-can-i-make-grep-respects-colors-on-a-pipe|Source]]) |
| |
| | |
| | * [[https://shafi.ddns.net/blog/customize-nano-text-editor|Customize Nano Text Editor]] |
| |
| ==== awk ==== | ==== awk ==== |
| |
| ==== curl ==== | ==== curl ==== |
| | |
| | * [[https://jpmens.net/2025/01/23/uploading-a-message-to-an-imap-server-using-curl/|Uploading a message to an IMAP server using curl]] |
| |
| Obtenir une page web avec les en-têtes: | Obtenir une page web avec les en-têtes: |
| * ''%%--%%data "param1=value1¶m2=value2"'' ou ''%%--%%data "param1=value1" %%--%%data "param2=value2"'': préciser le contenu de champs POST. La méthode HTTP sera POST par défaut. [[https://superuser.com/a/149335|Source]] | * ''%%--%%data "param1=value1¶m2=value2"'' ou ''%%--%%data "param1=value1" %%--%%data "param2=value2"'': préciser le contenu de champs POST. La méthode HTTP sera POST par défaut. [[https://superuser.com/a/149335|Source]] |
| * ''-X <method>'': précise la méthode HTTP | * ''-X <method>'': précise la méthode HTTP |
| | * ''-F "userid=32"'' : précise un couple clé/valeur d'une requête POST |
| | * ''-F "img=@/tmp/img.png"'' : précise le fichier à envoyer via un formulaire POST |
| |
| Pour afficher les en-têtes de la requête, il faut utiliser le mode verbeux avec l'option ''-v''. | Pour afficher les en-têtes de la requête, il faut utiliser le mode verbeux avec l'option ''-v''. |
| </code> | </code> |
| Options: | Options: |
| * ''-delete'': supprimer les fichiers trouvés | * ''-delete'' : supprimer les fichiers trouvés |
| * ''-exec du -ch {} +'': connaître la taille des fichiers trouvés. S'il y a trop de fichiers, ''find'' va faire des paquets de paramètres et plusieurs appels à ''du''. La solution est d'utiliser : ''find -type f -iname *.jpg -print0 | du -ch --files0-from=-'' ([[https://unix.stackexchange.com/questions/41550/find-the-total-size-of-certain-files-within-a-directory-branch|source]]). | * ''-exec du -ch {} +'' : connaître la taille des fichiers trouvés. S'il y a trop de fichiers, ''find'' va faire des paquets de paramètres et plusieurs appels à ''du''. La solution est d'utiliser : ''find -type f -iname *.jpg -print0 | du -ch --files0-from=-'' ([[https://unix.stackexchange.com/questions/41550/find-the-total-size-of-certain-files-within-a-directory-branch|source]]). |
| * ''-type d'': cherche uniquement des dossiers | * ''-type d'' : cherche uniquement des dossiers |
| | * ''-perm -g+r,g+x'' : cherche les fichiers avec le groupe qui peut lire et exécuter |
| | * ''\! -perm -g+r'' : cherche les fichiers que l e groupe n'a pas le droit de lire |
| |
| Sources: | Sources: |
| grep -P -o "\[\[https?:\/\/.+?\]\]" | grep -P -o "\[\[https?:\/\/.+?\]\]" |
| </code> | </code> |
| | |
| | |
| | ==== htop ==== |
| | |
| | * [[https://peteris.rocks/blog/htop/|htop explained]] |
| |
| |
| # Supprime toutes les entrée de logs antérieures au 22 avril 2021 : | # Supprime toutes les entrée de logs antérieures au 22 avril 2021 : |
| sed '1,/22\/Apr\/2021/d' nginx-access.log | sed '1,/22\/Apr\/2021/d' nginx-access.log |
| | </code> |
| | |
| | |
| | === Afficher les lignes jusqu'à atteindre un motif (inclus) === |
| | |
| | |
| | [[https://unix.stackexchange.com/questions/11305/show-all-the-file-up-to-the-match|Source]] |
| | <code bash> |
| | sed '/pattern/q' $fichier |
| </code> | </code> |
| |
| <code bash> | <code bash> |
| sed -n -e '/^BEGIN$/,/^END$/{/^BEGIN$/d;/^END$/d;p;}' input | sed -n -e '/^BEGIN$/,/^END$/{/^BEGIN$/d;/^END$/d;p;}' input |
| | </code> |
| | |
| | |
| | === N'affiche que les deuxièmes lignes après un motif === |
| | |
| | * [[https://www.baeldung.com/linux/show-nth-line-after-match|Source]] |
| | |
| | <code> |
| | Truc |
| | Foo: |
| | Machin |
| | Ligne à afficher |
| | Truc |
| | Foo: |
| | sdfs |
| | Ligne à afficher |
| | sdfs |
| | </code> |
| | |
| | |
| | <code bash> |
| | sed -n '/Foo:/{n;n;p}' $file |
| </code> | </code> |
| ==== sort === | ==== sort === |