Comment puis-je itérer à travers chaque ligne d'un fichier texte avec Bash ?
Avec ce script :
echo "Start!"
for p in (peptides.txt)
do
echo "${p}"
done
J'obtiens ce résultat à l'écran :
Start!
./runPep.sh: line 3: syntax error near unexpected token `('
./runPep.sh: line 3: `for p in (peptides.txt)'
(Plus tard, je veux faire quelque chose de plus compliqué avec $p
que la simple sortie sur l'écran).
La variable d'environnement SHELL est (de env) :
SHELL=/bin/bash
/bin/bash --version
sortie :
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
cat /proc/version
sortie :
Linux version 2.6.18.2-34-default (geeko@buildhost) (gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)) #1 SMP Mon Nov 27 11:46:27 UTC 2006
Le fichier peptides.txt contient :
RKEKNVQ
IPKKLLQK
QYFHQLEKMNVK
IPKKLLQK
GDLSTALEVAIDCYEK
QYFHQLEKMNVKIPENIYR
RKEKNVQ
VLAKHGKLQDAIN
ILGFMK
LEDVALQILL
29 votes
Oh, je vois qu'il s'est passé beaucoup de choses ici : tous les commentaires ont été supprimés et la question est rouverte. Juste pour référence, la réponse acceptée dans Lire un fichier ligne par ligne en assignant la valeur à une variable aborde le problème de manière canonique et devrait être préféré à celui qui est accepté ici.
3 votes
Bioinformatique en bash
0 votes
Pour
$IFS
voir Quelle est la signification exacte deIFS=$'\n'