J'ai un fichier que j'ai besoin d'analyser dans un tableau, mais je veux vraiment seulement une brève partie de chaque ligne et seulement pour les 84 premières lignes. la ligne peut-être parfois:Bash lire le fichier à un tableau basé sur deux délimiteurs
>MT gi...
Et je voudrais juste veux que le MT à être entré dans le tableau. D'autres fois, il pourrait être quelque chose comme ceci:
>GL000207.1 dn...
et je besoin du GL000207.1
Je pensais que vous pourriez être en mesure de mettre deux délimiteurs (étant le « > » et l'autre étant l'espace blanc), mais je ne suis pas sûr de la façon dont vous y arriveriez. J'ai lu des articles d'autres peuples sur le séparateur de champ interne mais je ne suis pas sûr de comment cela fonctionnerait. Je pense que quelque chose comme ça pourrait peut-être fonctionner?
desiredArray=$(echo file.whatever | tr ">" " ")
for x in $desiredArray
do
echo > $x
done
Une suggestion?
Avez-vous essayé 'cut'? – Wrikken
Euh. En fait, j'ai juste commencé avec Bash comme ... il y a une semaine. J'essaie de l'apprendre pour mon travail. Comment utilisez-vous couper? – Stephopolis
Le shell est généralement médiocre au traitement de texte. Vous pourriez être compliqué avec 'IFS' mais vous feriez mieux d'utiliser' cut' comme suggéré ou 'awk' ou' perl'. – msw