The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
awk, premier ignorer le nombre de lignes. trey85stang De programmation et de script Shell 8 05-21-2008 05:44 AM
Ignorer certaines lignes avec des mots de comparaison de fichiers jakSun8 De programmation et de script Shell 2 03-13-2008 12:11 AM
Comment puis-je ignorer que les lignes qui ont # au début? csaha De programmation et de script Shell 1 01-30-2006 03:35 AM
Faites sed ignorer lignes Scarlos De programmation et de script Shell 2 07-21-2005 11:33 AM
Suppression de lignes en double ignorer la casse hellsd UNIX pour les nuls Questions et réponses 17 12-02-2004 10:47 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 08-18-2005
sysera sysera is offline
Registered User
  
 

Join Date: Feb 2004
Posts: 92
Supprimer les lignes commençant par #

Existe-t-il un moyen de faire un script shell lire un fichier, ou de la liste, et sauter chaque ligne contient des # au début, ou ne tient pas compte du contenu de départ après un # en ligne?

Je suis à la recherche d'imiter la façon de commenter dans un shell script fonctionne normalement. De cette manière, je peux commenter mon texte et des listes de fichiers de mon processus de scripts et d'ignorer des lignes de commentaires.

Merci les gars.
  #2 (permalink)  
Old 08-18-2005
hadarot hadarot is offline
Registered User
  
 

Date d'inscription: juillet 2005
Posts: 33
Si vous voulez faire seulement un couple des choses avec la sortie, le filtre vous fichier source dans un pipeline:
Code:
grep -v '^[[:space:]]*#' /path/to/your/file | your_commands

si vous voulez faire des choses avec votre commentaire stripped-fichier, enregistrez le fichier dans un déshabillé fichier temporaire, et l'utilisation utiliser le fichier temporaire pour le reste de la procédure:
Code:
grep -v '^[[:space:]]*#' /path/to/your/file  >/tmp/stripped_source

Notez que j'utilise ^ [[: space:]] * au début de l'expression régulière à cause des lignes qui sont complètement observations peuvent encore contenir des grands espaces. Si vous souhaitez également supprimer les lignes vides, ne
Code:
 egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' /path/to/file >/tmp/stripped_file


Dernière édition par hadarot; au 08.18.2005 09:53 PM..
  #3 (permalink)  
Old 08-18-2005
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Modérateur
  
 

Join Date: Oct 2003
Lieu: -31.96,115.84
Posts: 1411
Essayez ...
Code:
$ cat file1
#line1
  #line2
line#3
line4

$ sed '/^ *#/d;s/#.*//' file1
line
line4

  #4 (permalink)  
Old 08-22-2005
sysera sysera is offline
Registered User
  
 

Join Date: Feb 2004
Posts: 92
Citation:
Posté par Ygor
Essayez ...
Code:
$ cat file1
#line1
  #line2
line#3
line4

$ sed '/^ *#/d;s/#.*//' file1
line
line4
Après quelques essais, je suis allé avec cette méthode. Merci à vous deux.
  #5 (permalink)  
Old 08-23-2005
Bakounine bakunin is offline Forum Staff  
Bughunter Extraordinaire
  
 

Join Date: Mai 2005
Situation: A la gauche octet de / dev / kmem
Messages: 1641
Si vous voulez que votre script de se comporter comme le ksh lui-même (ne pas tenir compte de la part d'une ligne après un "#", mais l'utilisation de la partie avant lui), vous pouvez effectuer les opérations suivantes (remplacer "<spc>" avec un espace littéral, "<onglet > "avec un onglet char):


Code:
script

sed 's/#.*$/;s/^[<spc><tab>]*//;s/[<spc><tab>]*$//;/^$/d' file

content of file
# this is a line with comments
   # this too, but starting with blanks
command 1        # this line contains an inline comment

command 2 "#"   # this too, but my script would be confused

result
command 1
command 2 "

Hélas, le script échoue sur la deuxième ligne, mais pour mettre ces délices, il fonctionne.

Bakounine
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 06:28 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0