IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

[SED - AWK] Quelques commandes et scripts en vrac


Sujet :

Contribuez

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 10
    Points
    10
    Par défaut [SED - AWK] Quelques commandes et scripts en vrac
    Je poste ici quelques commandes et scripts en vrac (d'ou le nom )
    je pourrais rajouter "pour debutant", ils sont facile a comprendre
    (enfin j'espere). Si ca peut aider quelqu'un

    #----------------------------------------------
    #
    # IMPORTANT : quelques une des commandes ne
    # marche pas si le fichier a ete edité sous Window
    # pour y remedier, appliquez dabord cette
    # commande si une commande ne marche pas
    # verifiez qu'il n'y a pas de "" ou [] inutiles
    #
    #----------------------------------------------
    # Converti un fichier .txt Window pour Unix I
    #----------------------------------------------


    dos2unix [Fichier]


    #----------------[ AWK ]-----------------


    #----------------------------------------------
    # compare dans un fichier un champ
    # avec le suivant affiche si different
    #----------------------------------------------


    awk -F "separateur de champ" '$1 && !n[$1]++' [Fichier]


    #----------------------------------------------
    # Recherche si le deuxieme champ (separe par
    # ":" est vide dans un texte
    # Affiche la ligne suivit de ": [Vide]"
    #----------------------------------------------


    awk -F ":" ' {if ($2=="") {print $1 $2 ": [Vide]"}}' [Fichier]


    #----------------------------------------------
    # Concatenation ligne par ligne
    # (comme avec la commande paste)
    # !! les fichiers doivent avoir le meme
    # nombre de ligne
    #----------------------------------------------


    awk '
    {test [NR] = $0 }

    END{
    while ( i <= NR )
    {
    print test[i];
    print test[i+NR/2]
    i ++;
    }
    }
    ' [Premier fichier] [Deuxieme fichier]



    #----------------[ SED ]-----------------


    #----------------------------------------------
    # Supprime les lignes contenant "truc"
    #----------------------------------------------


    sed '/"truc"/d' [Fichier]


    #----------------------------------------------
    # Supprime les lignes 1 et 2 du [fichier]
    #----------------------------------------------


    sed '1d ; 2d' [Fichier]


    #----------------------------------------------
    # Supprime les espaces en debut de ligne
    #----------------------------------------------


    sed -e "s/^ *//g" [Fichier]


    #----------------------------------------------
    # Suppression de l'intervalle compris entre
    # "Debut" et "Fin"
    #----------------------------------------------


    sed '/"Debut"/,/"Fin"/d' [Fichier]


    #----------------------------------------------
    # Chercher remplacer dans un fichier
    #----------------------------------------------


    sed -i "s/"ce que l'on cherche"/"ce que l'on met a la place"/g" [Fichier]


    #----------------------------------------------
    # Suppression de la dernière ligne
    #----------------------------------------------


    sed '$d' [Fichier]


    #----------------------------------------------
    # Suppression de ligne vide d'un [Fichier]
    #----------------------------------------------


    sed '/./!d' [Fichier]
    sed '/^$/d' [Fichier]



    #----------------------------------------------
    # Suppression de l'intervalle compris entre
    # les lignes 1 et 4
    #----------------------------------------------


    sed '1,4d' [Fichier]



    #----------------[ Petits scripts ]----------------
    #
    # Recopiez dans un fichier editer par vi
    # Ne pas oubliez de donner les droits (chmod 755 par exemple)

    #----------------------------------------------
    # Supprime les fichiers non modifié depuis I
    # [n] jours dans le [Chemin] specifie I
    # util. : ./[Nom du script] [n] [Chemin] I
    #----------------------------------------------


    #!/bin/bash

    if [ $# = 2 ]
    then
    find $2 -mtime +$1 -exec rm -f \{\} \;
    echo "Suppression des fichiers depuis $1 jour(s)"
    echo "dans $2"
    else
    echo "Utilisation : ./[Nom du script] [n] [Chemin]"
    echo "Le script supprime les fichiers non modifies"
    echo "depuis [n] jour(s) dans le [Chemin] specifie"
    fi



    #----------------------------------------------
    # Backup - sauvegarde le [dossier cible]
    # dans le repertoir courant en lui ajoutant
    # la date
    #----------------------------------------------

    #!/bin/bash

    if [ $# = 1 ]
    then
    VAR=`date +%Y-%m-%d`

    tar cjfP archives-"$VAR" $1
    echo "Archivage du dossier :"
    echo "$1"
    else
    echo "Utilisation : ./[Nom du script] [dossier cible]"
    echo "Le script archive le [dossier cible] dans"
    echo "le repertoir courant en ajoutant la date"
    fi



    #----------------[ VRAC ]----------------


    #---------------------------------------------
    # Supprime dans le deuxieme fichier les I
    # mots existants dans le premier I
    #---------------------------------------------


    diff [Premier fichier] [Deuxieme fichier] | grep ">" | sed s/\>// > [Sortie]


    #----------------------------------------------
    # Suppression des lignes blanches d'un fichier
    #----------------------------------------------


    grep -v "^\s*$" [Premier fichier] > [Sortie]


    #---------------[ THE END ]----------------

    Voili voilou

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    merci tres bien ce petit
    astuces-topic

    c'est sympa de partager.

  3. #3
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    Avec ton accord, je te propose d'inclure tout ca dans la FAQ (Linux surement).

    Evidemment, tu seras donné comme auteur

    Qu'en penses tu ?
    Grave urgent !!!

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par Katyucha
    Evidemment, tu seras donné comme auteur

    au passage, ce serait sans doute mieux de mettre un nom et non un pseudo pour les entrées de faq... si tu le souhaites, envoies-le par MP à un des modos linux
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Avec plaisir
    Mais pour les mises a jour ? je post ici ?

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    éventuellement... sinon un MP a un des redac lvl 2 (plumes rouges) ou modo linux (étoiles rouges)
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Daccord merci des precisions,
    Disons que je pense ne pas etre le seul a garder des notes et petites commandes dans des blocs notes plus ou moins ordonnés alors ils pourraient se manifester ici par la suite

  8. #8
    En attente de confirmation mail
    Inscrit en
    Octobre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 127
    Points : 112
    Points
    112

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/06/2014, 12h03
  2. Variable pour commande dans script en vrac après 1re utilisation
    Par Jipété dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 09/01/2014, 00h57
  3. [Shell] plusieurs commandes sed simultanées dans un même script
    Par hakkio dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 05/12/2011, 14h40
  4. comportement de sed diverge entre ligne de commande et script
    Par yobbas dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 08/07/2010, 19h26
  5. Script bash - besoin d'aide avec sed & awk
    Par Obiwan31 dans le forum Unix
    Réponses: 1
    Dernier message: 23/04/2010, 10h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo