J'ai un fichier appelé list_of_files.txt qui est une liste de plus de 500 autres fichiers. Il ressemble donc:Bash faisant boucle pour répéter le code plusieurs fois
list1.txt
list2.txt
list3.txt
etc
Cette liste se ressemblent tous comme ceci: (toutes les colonnes sont faites de valeurs numériques) valeur1 valeur2 valeur3 valeur4 valeur5 valeur6 etc
Pour chacune de ces listes, je veux Pour couper une certaine colonne d'intérêt, triez-la de manière à ce que les nombres soient dans un ordre croissant et vérifiez si mon fichier original et le nouveau ont le même ordre.
J'ai essayé de faire un script comme si .sh boucle:
for i in list_of_files.txt
do
cut -f3 -d " " list*.txt > chr*_all_positions.txt
sort -n chr*_all_positions.txt > chr*_ordered_positions.txt
diff chr*_all_positions.txt chr*_ordered_positions.txt > result_*.txt
done
Cependant, cela ne fonctionne pas. Toute aide serait appréciée.
Merci! Cela marche. Toutefois, si mes fichiers de liste étaient nommés comme suit: list1.1.txt, list1.2.txt, etc Ce code fonctionnerait-il toujours? Cela ne semble pas quand j'essaye. – m93
@ m93: Ajustez simplement le code selon vos besoins. – choroba
Désolé, je suis très nouveau à Bash. J'ai essayé d'ajuster en écrivant i = 1.1 mais j'ai eu une erreur. – m93