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
remplacement de l'espace avec pipe (délimiteur) OSD UNIX pour les nuls Questions et réponses 6 02-16-2009 04:38 AM
un meilleur moyen de supprimer les sauts de ligne csmklee De programmation et de script Shell 3 01-13-2009 02:42 AM
Remplacement de l'URL dans un fichier avec l'espace dsrookie UNIX pour les nuls Questions et réponses 5 02-29-2008 04:58 AM
Newbie? Besoin d'aide avec Si / Then & Line Breaks ... kthatch UNIX pour les nuls Questions et réponses 1 05-01-2007 08:44 PM
Suppression des sauts de ligne à partir d'une variable shell lyonsd De programmation et de script Shell 5 09-12-2006 02:42 PM

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 04-21-2009
mshulman1980 mshulman1980 is offline
Registered User
  
 

Date d'inscription: avril 2009
Messages: 4
Exclamation shell remplacer espace avec des sauts de ligne

Je suis d'analyse par le biais d'un grand lslpp-Lc fichier de sortie avec une boucle for. Le fichier contient de nombreuses lignes de ressembler à ceci:
zip: zip-2.3-3: 2.3::: C: R: Un fichier de compression et d'emballage utilitaire compatible avec PKZIP.:: / bin / rpm-e zip::::: 0:

Il ne semble pas spécialisés ou secret de marquage dans le fichier.
Toutefois, lorsque je veux lire le fichier dans une boucle dans un shell script, il se décompose chaque espace comme un saut de ligne, et à chaque saut de ligne comme un double break.
Voici le code:

Code:
#!/usr/bin/ksh
for i in `cat -n servername.lpp`
do 
echo "$i"
done

La chose étrange est que les chats ne semble pas à l'avis que les lignes sont brisées, comme indiqué par la sortie ci-dessous.
J'ai aussi essayé de lire le fichier avec un deuxième perl script (for i in `perl perlscript.pl) et a obtenu exactement le même problème.

Sortie d'entrer dans le

Sortie de fichier de script:

Code:
 1
#Package
Name:Fileset:Level:State:PTF
Id:Fix
State:Type:Description:Destination
Dir.:Uninstaller:Message
Catalog:Message
Set:Message
Number:Parent:Automatic:EFIX
Locked:Install
Path:Build
Date
2
Java14.sdk:Java14.sdk:1.4.2.175:
:
:C:F:Java
SDK
32-bit:
:
:
:
:
:
:0:0:/:


J'ai aussi essayé avec shell bash spécifié. Je ne suis pas sûr de savoir comment résoudre ce problème. Toute aide serait appréciée.

Dernière édition par mshulman1980; au 04.21.2009 02:38 PM.. Motif: Remplacé cite tag avec un code de balise pour éviter l'insertion automatique emoticon
  #2 (permalink)  
Old 04-21-2009
devtakh devtakh is offline
Registered User
  
 

Join Date: Oct 2007
Lieu: Bangalore
Messages: 514
s'il vous plaît fournir un échantillon d'entrée et de sortie attendue fichier


à la vôtre,
Devaraj Takhellambam
  #3 (permalink)  
Old 04-21-2009
mshulman1980 mshulman1980 is offline
Registered User
  
 

Date d'inscription: avril 2009
Messages: 4
Exemple d'entrée:
[CODE]
readline: readline-4.3-2: 4.3::: C: R: Une bibliothèque pour la lecture et restitution de lignes à partir d'un terminal.:: / bin / rpm-e readline::::: 0:
sudo: sudo-1.6.7p5-3: 1.6.7p5::: C: R: Permet de limiter l'accès root pour les utilisateurs.:: / bin / sudo rpm-e::::: 0:
unzip: unzip-5.51-1: 5.51::: C: R: Un utilitaire pour le déballage des fichiers zip.:: / bin / rpm-e unzip::::: 0:
wget: wget-1.9.1-1: 1.9.1::: C: R: Un utilitaire pour récupérer les fichiers en utilisant les protocoles HTTP ou FTP.:: / bin / rpm-e wget::::: 0:
zip: zip-2.3-3: 2.3::: C: R: Un fichier de compression et d'emballage utilitaire compatible avec PKZIP.:: / bin / rpm-e zip::::: 0:

[/ CODE]

la production devrait être identique. Une fois que je suis capable de charger en mémoire de chaque ligne, je vais analyser à travers les lignes.
  #4 (permalink)  
Old 04-21-2009
giannicello giannicello is offline
Registered User
  
 

Join Date: Sep 2001
Lieu: Phoenix
Messages: 169
J'aimerais utiliser une boucle while ... par exemple:

IFS \u003d ":"
tout lire en ligne, ne
echo $ line
done <servername.lpp
  #5 (permalink)  
Old 04-21-2009
mshulman1980 mshulman1980 is offline
Registered User
  
 

Date d'inscription: avril 2009
Messages: 4
giannicello: thanks!

J'ai joint le script à ajouter dans les colonnes de côté l'analyse.

#! / bin / bash
IFS \u003d ":"
tout lire en ligne, ne
echo $ line
done <servername.lpp | tr '' ':'
  #6 (permalink)  
Old 04-21-2009
devtakh devtakh is offline
Registered User
  
 

Join Date: Oct 2007
Lieu: Bangalore
Messages: 514
essayez d'utiliser une boucle while ... au lieu de votre question semble être à cause de la commande echo

tout lire en ligne
faire
echo $ line
done < "filename"

si vous voulez le numéro de la ligne aussi:

i \u003d 1; tout lire en ligne; do echo "$ i $ line"; i \u003d `expr $ i + 1»; done < "filename"


à la vôtre,
Devaraj Takhellambam
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:27 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