Bonjour,
J'essayes de lire toutes les lignes d'un fichier text et de les retourner en une ligne.
Pour ce faire j'a trouvé la fonction mapfile
J'ai malheureusement quelques soucis lors du process
voici le code
Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#!/bin/shell
input="links.txt"
 
echo "print line by line"
printf "Line 1\nLine 2\nLine 3\n" | ( mapfile; echo "${MAPFILE[@]}" )
echo "-----------------------"
 
echo "print all lines"
printf "Line 1\nLine 2\nLine 3\n" | ( mapfile -t; echo "${MAPFILE[@]}" )
echo "-----------------------"
 
mapfile array < $input
echo "print line by line from file"
echo "${array[@]}" | (mapfile; echo "${MAPFILE[@]}" )
echo "-----------------------"
 
echo "print all lines from file"
echo "${array[@]}" | (mapfile -t; echo "${MAPFILE[@]}" )

Voici ce que cela me retournes

https://prnt.sc/Xsbo0M2LyubI

Voici l'un des liens qui m'a été utile https://www.computerhope.com/unix/bash/mapfile.htm

Pourquoi est-ce que le dernier résultat me retournes que la dernière valeur ?
Comment puis-je corriger cela?

Merci d'avance