Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Contribuez

Contribuez Vos contributions pour la rubrique Linux : articles, cours, tutoriels, faq, comparatifs, tests, sources, ...

Réponse
 
Outils de la discussion
Vieux 20/06/2007, 11h41   #1 (permalink)
Invité régulier
 
Date d'inscription: mai 2007
Localisation: Bordeaux
Âge: 21
Messages: 12
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
lordduck est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/06/2007, 22h05   #2 (permalink)
Membre Expert
 
Avatar de frp31
 
Date d'inscription: juillet 2006
Localisation: toulouse
Messages: 1 474
Par défaut

merci tres bien ce petit
astuces-topic

c'est sympa de partager.
__________________
Bye @+
(\__/)
(o..o)
(") (")

Soutenez le logiciel libre
frp31 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/06/2007, 10h00   #3 (permalink)
Rédacteur
 
Avatar de Katyucha
 
Date d'inscription: mars 2004
Localisation: Parti pour de bon
Âge: 28
Messages: 3 041
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 ?
Katyucha est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/06/2007, 10h11   #4 (permalink)
Responsable rubrique générale
 
Avatar de gorgonite
 
Date d'inscription: décembre 2005
Localisation: Gorgon-Paradise
Âge: 24
Messages: 8 037
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
Modérateur Linux, Serveurs, Programmation fonctionnelle
Mes Tutos | Mon Blog

Vous souhaitez contribuer à la rubrique Autres langages, contactez-moi.



attention je mords ou je chevauche
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/06/2007, 13h51   #5 (permalink)
Invité régulier
 
Date d'inscription: mai 2007
Localisation: Bordeaux
Âge: 21
Messages: 12
Par défaut

Avec plaisir
Mais pour les mises a jour ? je post ici ?
lordduck est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/06/2007, 13h57   #6 (permalink)
Responsable rubrique générale
 
Avatar de gorgonite
 
Date d'inscription: décembre 2005
Localisation: Gorgon-Paradise
Âge: 24
Messages: 8 037
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
Modérateur Linux, Serveurs, Programmation fonctionnelle
Mes Tutos | Mon Blog

Vous souhaitez contribuer à la rubrique Autres langages, contactez-moi.



attention je mords ou je chevauche
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/06/2007, 14h09   #7 (permalink)
Invité régulier
 
Date d'inscription: mai 2007
Localisation: Bordeaux
Âge: 21
Messages: 12
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
lordduck est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Contribuez



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide