Je dois faire une liste d'un grand nombre de fichiers (40 000 fichiers) comme ci-dessous: ma commande est: Cependant puis-je résoudre ce problème?
Tout autre moyen de faire une liste comme celle-ci par Perl / Python? P> thx p> p> ls err * _1 _ *. FastQ | SED ' S / \. FastQ // G '| Trier -n> Masterlist Code>
Toutefois, l'erreur est la suivante:
Bash: / bin / ls: liste d'arguments trop longue code> p>
4 Réponses :
Vous devriez être capable de remplacer (la sortie ls err * _1 _ *. FastQ code> avec
trouver. -Name "Err * _1 _ *. FASTQ" CODE>.
De cette façon, vous pouvez éviter que la carte générique se développe dans une énorme liste d'arguments. P>
trouver code> inclure un "code/", par exemple.
./ err001268_1_100.fastq code>. Si
C'est indésirable, vous pouvez vous en débarrasser avec une autre commande code> SED code> plus tard dans le
Pipeline.) P>
Si les fichiers existent déjà tous dans votre répertoire, le module "GLOB" de Python pourrait avoir une limite supérieure à la ligne de commande de Bash.
de la ligne de commande: p>
trimmedfiles.sort(key=lambda f: int(f.split("_")[2]))
Vous voulez probablement un '\ N'.Join (...) code> autour de l'appel global. Sinon, cette réponse m'a sorti d'une situation similaire, +1
Recherche pourrait vous aider - plutôt que LS utilise trouver. -Name 'YourPatternHere' -Print0 | Xargs -0 YouractionPere code> P>
Vous pouvez utiliser exemple: p> trouver code>.