IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Copier une ligne avec un nombre limité de caractères


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 28
    Points : 43
    Points
    43
    Par défaut Copier une ligne avec un nombre limité de caractères
    Bonjour à tous,

    J'ai fait un script qui récupère une ligne dans un fichier pour la coller dans un autre

    Sans mettre tout le code, ça fait principalement ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligne_a_copier='$( sed -n ${ligne}p ${REP} | sed -e "s/'/\"/g" )'
    Seulement je voudrai que la ligne à copier ne dépasse pas les 200 caractères.;et je ne sais pas comment faire, (avec l'option -gt cela marchera-t-il?)

    Merci de votre aide

  2. #2
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ wc -L <<< ${var}
    44
     
    $ echo ${var}
    The system is going down for system halt NOW
     
    $ echo ${var::20}
    The system is going
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Citation Envoyé par nyarlath
    je voudrai que la ligne à copier ne dépasse pas les 200 caractères
    Code ± : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -n "${ligne}{/^.\{,200\}$/{s/'/\"/gp}}" "${REP}"
    ...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 28
    Points : 43
    Points
    43
    Par défaut
    N_Bah, j'ai l'erreur Function cannot be parsed..mais j'ai oublié de préciser que j'étais en ksh!

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 287
    Points : 12 744
    Points
    12 744
    Par défaut
    Bonjour,

    Une autre solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "Exact sample rate is: 1014300.020041 Hz" | grep -o -E '^.{10}'
    Exact samp
    Cordialement.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    je ne comprend pas la même chose que vous.
    je n'ai pas l'impression que nyarlath veut couper la ligne pour la réduire à 200 caractères, mais qu'il veut la sélectionner uniquement si elle comporte 200 caractères, ou moins
    ...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 287
    Points : 12 744
    Points
    12 744
    Par défaut
    Tel est la question.
    Au pire j'ai oublié une virgule

    Et comme toi un $ , non ?

    PS: je ne comprend pas le ${ligne} a l'intérieur du sed, on suppose que c'est la variable qui contient les délimiteur /../ ?
    Cordialement.

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    je ne comprend pas la même chose que vous.
    je n'ai pas l'impression que nyarlath veut couper la ligne pour la réduire à 200 caractères, mais qu'il veut la sélectionner uniquement si elle comporte 200 caractères, ou moins
    ...
    ?
    Dans ce cas, pour trancher, il n'y a qu'à attendre qu'il se manifeste! (comme bomonde?)

  10. #10
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    PS: je ne comprend pas le ${ligne} a l'intérieur du sed
    j'ai admis, un peu vite, peut-être, que c'était un nombre.
    en effet, ça peut aussi être la variable qui contient les délimiteur /../.

    c'est le printemps, les hypothèses fleurissent dans le champ des possibles.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  11. #11
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Non mais même. Disedorgue a raison sur le fait qu'il manque la fin de ligne car une ligne qui a 260 caractères en a au moins 200 et en a au moins 10. Dans les deux cas il manque un inverseur où une fin de ligne.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  12. #12
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    voilà, voilà, c'est corrigé.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  13. #13
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 287
    Points : 12 744
    Points
    12 744
    Par défaut
    Je ne veux pas jouer mon rabatjoie, mais je dirais que cela ne fonctionne toujours pas (c'est juste une question d'échappement).
    Mais bon, j'ai pas testé...
    Cordialement.

  14. #14
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    ouaip! pas seulement.
    ça va finir pas fonctionner

    mais, ça n'explique pas
    Function cannot be parsed
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  15. #15
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 287
    Points : 12 744
    Points
    12 744
    Par défaut
    Peut-être que si, mais on saura quand il aura répondu, car je suppose qu'il a mis ton sed à la place du sien dans sa variable où il protège avec des simples quotes et sans protéger le simple quote dans la regex (voir son post initial)...
    Cordialement.

  16. #16
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 28
    Points : 43
    Points
    43
    Par défaut
    Bonjour à tous,
    je vois que je suis fortement attendu!

    Et vivi, Je veux couper la ligne si elle fait plus de 200 caractères

    Laissez moi le temps de lire tous vos commentaires afin de voir qi quelque chose me convient

  17. #17
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 28
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    j'ai admis, un peu vite, peut-être, que c'était un nombre.
    en effet, ça peut aussi être la variable qui contient les délimiteur /../.

    c'est le printemps, les hypothèses fleurissent dans le champ des possibles.
    la variable ${ligne} est celle qui contient la ligne de + de 200 caractères..

    et jack..euh ..comment dire, le cut marche très bien..

    et je retourne me cacher..

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/06/2013, 09h42
  2. somme de valeurs d'une colonne dans une feuille avec un nombre de lignes inconnus
    Par Platon d'athene dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/09/2012, 15h53
  3. Copier puis insérer une ligne avec interop
    Par Shadam dans le forum VB.NET
    Réponses: 1
    Dernier message: 23/09/2011, 14h42
  4. [XL-2003] Inserer une ligne avec un nombre fixe
    Par chouki60 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/02/2011, 17h10
  5. Copier des lignes avec une condition
    Par gliglian dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/02/2009, 00h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo