Je veux sortir ce qui suit de fileA et fileB:
fileA: abcde fileB: 1\t2\t3\ta bcde fileA: fghij fileB: 4\t5\t6\tf ghij fileA: klmno fileB: 7\t8\t9\tk lmno
Cependant, mon script affiche les informations suivantes (et je ne peux pas comprendre pourquoi):
fileA: abcde fileB: 1\t2\t3\ta bcde\n1 2 3 abcde fileA: fghij fileB: 4\t5\t6\tf ghij\n4 5 6 fghij fileA: klmno fileB: 7\t8\t9\tk lmno\n7 8 9 klmno
déposer un:
abcde fghij klmno
fileB:
123abcde 456fghij 789klmno
script.sh:
#!/bin/bash while : do read A <&3 read B <&4 [ -z "${A}" -a -z "${B}" ] && break echo "fileA: ${A}" echo "fileB: ${B}" done 3<fileA 4<fileB
Notez que fait référence à un onglet réel du fichier.
Essayez de lire comme ceci:
read -u 3 A read -u 4 B
Il se trouve que je suis un idiot. Il y avait une instruction echo supplémentaire dans la boucle while (que j’ai oublié de commenter dans mon code).