The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX for Advanced & Expert Users
.
google unix.com



UNIX for Advanced & Expert Users Expert à Expert. Apprenez avancé UNIX, des commandes UNIX, Linux, les systèmes d'exploitation, d'administration système, de la Programmation, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Comparer les multiples champs de file1 et file2 de ligne d'impression et de la prochaine ligne gillesc_mac De programmation et de script Shell 7 03-16-2009 06:26 AM
Lecture d'un fichier ligne par ligne et de traitement pour chaque ligne sagarparadkar De programmation et de script Shell 6 03-02-2009 11:59 AM
cat fichier1 lire ligne par ligne, grep-A 15 lignes dans fileb irongeekio De programmation et de script Shell 6 01-28-2009 06:30 AM
J'ai besoin de suggestion sur le problème de lire un fichier ligne par ligne et ne stuff madi3d8 De programmation et de script Shell 3 01-15-2009 11:33 AM
SED aide (supprimer la ligne:: parse fois:: ajouter la ligne) Malumake De programmation et de script Shell 6 10-24-2007 06:02 PM

Reply
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 06-28-2009
web_developer's Avatar
web_developer web_developer is offline
Registered User
  
 

Date d'inscription: juin 2009
Lieu: Durham, NC
Messages: 3
comment voulez-vous analyser la ligne 1 à un moment de file1 c'est-à-dire. ligne (n), chaque nouvelle ligne dans le fichier

Fichier 1
<html> ta da .... nom de fichier unique que je veux faire de fichier \u003d> 343 ...</ html>
<html> da ta 234 </ html>
<html> pa da 542 </ html>
et ainsi de suite ...

File 2
343
234
542
et ainsi de suite, chaque ligne dans un fichier 1 correspond également à chaque ligne dans le fichier 2

J'ai essayé plusieurs grep, sed, Alors que .. lire, faire, faire des scripts et en vain.

ksh i besoin d'un script qui va faire les choses suivantes
(readORawkOR?) 1 ligne à la fois,> OU? correspondant à son identifiant unique dans le code HTML, mais l'identifiant unique dans le code n'est pas au début ou à la fin de la ligne, dans son milieu, j'ai <html> et </ html> en début et en fin de chaque ligne ..

Les scripts d'exemple serait génial ...

Merci
  #2 (permalink)  
Old 06-28-2009
kshji's Avatar
kshji kshji is offline
Registered User
  
 

Date d'inscription: juin 2009
Lieu: Finlande
Messages: 236
Vous pouvez le faire de nombreuses, mais voici un exemple de comment utiliser le paramètre d'expansion.

Code:
#!/bin/ksh
# read lines from stdin
while read line
do
        # remove begin of line including <html>
        a1=${line#*<html>}
        # remove end of line including </html>
        a2=${a1%</html>*}
        # remove all char except numbers (replace not numbers with nothing)
        a3=${a2//[^0-9]/}
        print $a3
done

Et puis l'exécuter

Code:
chmod a+x thisfile
cat file1 | ./thisfile > file2

  #3 (permalink)  
Old 06-28-2009
web_developer's Avatar
web_developer web_developer is offline
Registered User
  
 

Date d'inscription: juin 2009
Lieu: Durham, NC
Messages: 3
en résumé .. VOIR ci-dessous

En file1, ligne 1 (<html> identifier23432 unique ... .. </ html>) doit être> à l'identifiant de la ligne 1 file2 (création d'un nouveau nom de fichier pour chaque enregistrement) (23432). Html (création nouveau fichier basé sur l'identifiant unique)

---------- Post mis à jour à 08:51 AM ---------- Mise à jour précédente a été, à 08:36 AM ----------

#! / bin / ksh

# créer compteur
cnt \u003d 0
# Lit les lignes de stdin
tout lire en ligne
faire
# Suppression de la ligne, y compris commencer <html>
a1 \u003d $ (line # * <html>)
# Supprime la fin de la ligne y compris les </ html>
a2 \u003d $ a1% (</ html> *)
# Supprimer tous les caractères sauf les chiffres (pas de remplacer les numéros de rien)
a3 \u003d $ (a2 / / [^ 0-9] /)
print $ a3
# increment cnt pour tester la création de nouveaux identifiant unique
cnt \u003d$(($ cnt +1))
done> $ cnt.html
$ ksh test3.ksh

test3.ksh [17]:: bad substitution
$
1 Ce fichier est créé:
0 juin 28 08:41 0.html
vierge et pas 1,2, 3 et ainsi de suite ..

Les autres idées?

Citation:
Posté par kshji View Post
Vous pouvez le faire de nombreuses, mais voici un exemple de comment utiliser le paramètre d'expansion.

Code:
#!/bin/ksh
# read lines from stdin
while read line
do
        # remove begin of line including <html>
        a1=${line#*<html>}
        # remove end of line including </html>
        a2=${a1%</html>*}
        # remove all char except numbers (replace not numbers with nothing)
        a3=${a2//[^0-9]/}
        print $a3
done

Et puis l'exécuter

Code:
chmod a+x thisfile
cat file1 | ./thisfile > file2
Merci, mais malheureusement, cela ne va pas créer ce dont j'ai besoin ..

en résumé .. VOIR ci-dessous

En file1, ligne 1 (<html> identifier23432 unique ... .. </ html>) doit être> à l'identifiant de la ligne 1 file2 (création d'un nouveau nom de fichier pour chaque enregistrement) (23432). Html (création nouveau fichier basé sur l'identifiant unique)

---------- Post mis à jour à 08:51 AM ---------- Mise à jour précédente a été, à 08:36 AM ----------

#! / bin / ksh

# créer compteur
cnt \u003d 0
# Lit les lignes de stdin
tout lire en ligne
faire
# Suppression de la ligne, y compris commencer <html>
a1 \u003d $ (line # * <html>)
# Supprime la fin de la ligne y compris les </ html>
a2 \u003d $ a1% (</ html> *)
# Supprimer tous les caractères sauf les chiffres (pas de remplacer les numéros de rien)
a3 \u003d $ (a2 / / [^ 0-9] /)
print $ a3
# increment cnt pour tester la création de nouveaux identifiant unique
cnt \u003d$(($ cnt +1))
done> $ cnt.html
$ ksh test3.ksh

test3.ksh [17]:: bad substitution
$
1 Ce fichier est créé:
0 juin 28 08:41 0.html
vierge et pas 1,2, 3 et ainsi de suite ..

Les autres idées?

Citation:
Posté par kshji View Post
Vous pouvez le faire de nombreuses, mais voici un exemple de comment utiliser le paramètre d'expansion.

Code:
#!/bin/ksh
# read lines from stdin
while read line
do
        # remove begin of line including <html>
        a1=${line#*<html>}
        # remove end of line including </html>
        a2=${a1%</html>*}
        # remove all char except numbers (replace not numbers with nothing)
        a3=${a2//[^0-9]/}
        print $a3
done

Et puis l'exécuter

Code:
chmod a+x thisfile
cat file1 | ./thisfile > file2


---------- Message mis à jour à 11:40 AM ---------- Mise à jour précédente a été, à 08:51 AM ----------

Merci, mais malheureusement, cela ne va pas créer ce dont j'ai besoin ..
  #4 (permalink)  
Old 06-28-2009
kshji's Avatar
kshji kshji is offline
Registered User
  
 

Date d'inscription: juin 2009
Lieu: Finlande
Messages: 236
Je ne suis pas sûr de ce que vous cherchez, exemple type du fichier d'entrée et de ce que vous aimez à raison par exemple.

Code:
while ...
do
     # a3 is the key value, look first example script
     > $a3.html
done


Code:
cnt=1
while read line
do
    # create/overwrite empty file using some variable value
    > $cnt.html
    # or put something to file
    print something > $cnt.html
   ((cnt+=1))
done

  #5 (permalink)  
Old 06-28-2009
web_developer's Avatar
web_developer web_developer is offline
Registered User
  
 

Date d'inscription: juin 2009
Lieu: Durham, NC
Messages: 3
Dfn fichier d'entrée et de sortie de fichier (s) dfn

Mon fichier d'entrée est une liste de code html pour les produits qui ont une clé unique que leurs numéros d'identification dans la description du code ..

test1
<html> (code de produit #####)</ html> <\u003d\u003d une page Web
Je voulais utiliser la valeur cnt pour représenter un moyen unique de createing un nouveau fichier différent avant chaque ligne dans le fichier, il test1 dans essenct, il est en train de créer un nouveau fichier html pour chaque ligne que j'ai testé et vérifié est séparée par un carrage retour et pas d'onglet ou carage retours à la ligne elle-même.


nom_fichier.txt est un autre fichier j'ai essayé de mv utilisé un script pour changer le nom de la cnt.html des fichiers créés par le premier script
Reply

Bookmarks

Tags
analyser le fichier sur de nouvelles lignes

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 09:25 PM.


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