Power of Loop the Unix 'pour'




 

Si vous êtes un programmeur ou un ingénieur travaillant dans un environnement Unix ou Linux, vous devrez
probablement trouver le shell 'pour' boucle pour être un outil pratique pour l'automatisation des tâches de ligne de commande.

Voici trois exemples de «pour» la boucle. Toutes les commandes sont en italiques et devrait être inscrite sur la ligne de commande, suivi d'un retour chariot.
Notez que, après avoir saisi les initiales "pour" en ligne, vous obtiendrez l'invite Unix secondaire (généralement un'>').

1. Renommer tous ". Old" des fichiers dans le répertoire courant. "Bak":

for i in *. old

faire

j = `echo $ i | sed 's / old / bak /'`

mv $ i $ j

fait

Ici, nous avons bouclé à travers tous les fichiers avec extension ". Old", la fixation du i "variable" pour être le nom du fichier que nous sommes actuellement dans une boucle. Puis, entre le «faire» et «fait», nous avons le corps de la boucle. À chaque passage, nous partageons le nom du fichier ( "i") à l'éditeur de flot sed unix. Sed remplace le "vieux" par "bak" (fichier de sorte "a.old" devient "a.bak"), et enregistre le nom a changé à la variable "j". Ensuite, nous utilisons le déménagement unix (mv) commande pour renommer le fichier original (ex. a.old) pour le nouveau fichier (a.bak).

2. Remplacez toutes les instances de "oui" à "non" en tous ". Txt" des fichiers dans le répertoire courant.
Sauvegardez les fichiers d'origine à ". Bak".

for i in *. txt

faire

j = `echo $ i | sed 's / txt / bak /'`

mv $ i $ j

sed 's / oui / non /' $ j> $ i

fait

Dans ce cas, nous renommer chaque fichier à partir de ". Txt" à ". Bak". En outre, nous utilisons sed une seconde fois, sur le contenu du fichier d'origine (maintenant avec un fichier ". Bak" extension) et enregistrez le texte modifié avec le nom d'origine (avec ". Txt").

3. Boucle dans un fichier texte contenant les noms de fichiers possibles.
Si le fichier est lisible, imprimer la première ligne, sinon un message d'erreur:

for i in `cat` file_list.txt

faire

if test-r $ i

puis

echo "Voici la première ligne du fichier: $ i"

1q sed $ i

autre

echo "fichier $ i ne peut pas être ouvert en lecture."

FI

fait

Ici, on boucle sur les résultats d'une commande (dans ce cas de "chat"), plutôt qu'en parcourant les fichiers dans le répertoire. Nous utilisons également une déclaration si, avec le "test" de commande pour tester une condition (dans ce cas, si le fichier est lisible).

 
Garde d'enfants Management & Daycare SoftwareLe droit ScénaristeDossier Médical SoftwareTechnologie de l'information et ses utilisations stratégiquesAide informatique - A Simple Secret Pour Améliorer vos compétences en informatiqueSauvegardes: An Essential Data Recovery ToolPlanification stratégique-de prévision et des logiciels de prévisionLe E Instant-Enquête pour l'Leaders eGovenance de l'eGovernment IT SystemsPocket PCCisco CCNP BSCI 642-901 Certification Exam Training: la proximité EIGRPMake Your Service de réparation un centre de profit avec des bijoux SoftwareMal conçu langues, Cohérence et outilsAcheter Printer InkBar Code SoftwareEst-ce que votre ordinateur soit Windows Vista Capable?Laptop CPU's-A Guide généralDesktop ManagementUn Mac est vraiment l'abri des virus?Mobile Computing SolutionsTom Clancy's Splinter Cell - Double Agent A Gamer's Review

© 2007-2012 Geocitoyen.com