none
Concatenation de fichier par ligne RRS feed

  • Question

  • Bonjour à tous,

    J'ai créé un gros script dont je suis assez fier en guise de semi-interface pour un de mes logiciels. 95% de mon script fonctionne parfaitement. Mais il y a un passage que je n'arrive pas à faire, je m'explique :

    J'ai un fichier A et un fichier B composés de X lignes. Je voudrais créer un fichier composé d'une ligne de A, puis une ligne B et ainsi de suite, cela donnerait :

    Ligne1 Fichier A
    Ligne1 Fichier B
    Ligne2 Fichier A
    Ligne2 Fichier B
    etc...

    J'ai essayé beaucoup de chose, mais je me retrouve systématiquement avec l'intégralité du fichier A suivi de l'intégralité du fichier B :

    $Monfichier = Import-Csv fichierA
    foreach ($Line in $Monfichier) {
    Get-content fichierA | Select-content -Skip 1|Add-Content fichierC
    Get-content fichierB | Select-content -Skip 1|Add-Content fichierC
    }

    Je ne sais pas si je suis loin ou pas...J'ai trouvé beaucoup de script en mesure de lire mon fichier ligne par ligne mais rien qui me permette d'alterner l'envoi dans un fichier. Si vous pouvez m'aider sur ce point, je vous en serais super reconnaissant!

    Merci
    mercredi 5 avril 2017 07:52

Toutes les réponses

  • Je pense que tu n'as pas la bonne approche

    Vois ceci:

    $file1 = Get-Content .\1.txt
    $file2 = Get-Content .\2.txt
    
    $Bigest = [math]::max($file1.Count,$file2.Count)
    $result = @()
    
    foreach ($Line in (1..$Bigest)) {
      $result += $file1[$Line-1]
      $result += $file2[$Line-1]
      }
    
    $result | out-file -filepath .\result.txt
    
    B.

    • Proposé comme réponse Bawilanemo samedi 15 juillet 2017 18:57
    samedi 8 avril 2017 23:04