-1
votes

Commandes Linux Pour obtenir le dernier fichier en fonction du nom du fichier

Je suis nouveau à Linux. J'ai un dossier avec de nombreux fichiers et j'ai besoin d'obtenir le dernier fichier en fonction du nom du fichier. Exemple: j'ai 3 fichiers rat_20190111.txt rat_20190212.txt rat_20190321.txt . J'ai besoin d'une commande Linux pour déplacer le dernier fichier ici rat20190321.txt à un répertoire spécifique.


3 commentaires

Ceci est hors topic pour débordement de pile et j'ai voté pour le fermer


@talonmies Il s'agit d'une question de programmation de script shell, de sorte qu'il est sur le sujet ici.


Est le format de vos noms de fichiers fixes, c'est-à-dire toujours rat _ suivi d'une année à 4 chiffres, de 2 chiffres mois et de 2 chiffres, suivi de .txt ? Vous semblez avoir oublié le soulignement dans le dernier nom de fichier.


3 Réponses :


0
votes

Si le modèle de fichier reste identique, vous pouvez essayer la commande ci-dessous: xxx

comme indiqué par @wwn, il n'est pas nécessaire d'utiliser Trier , car Les fichiers sont lexicographiquement tri ls doivent faire le travail déjà de les trier afin que la commande devienne: xxx


3 commentaires

Étant donné que les fichiers semblent être lexicographicaly triables LS devraient faire le travail déjà de les trier, c'est-à-dire: vous pouvez enregistrer un tuyau ;-): mv $ (ls rat * | queue -1) / chemin / à / à / à / à / à / à / Code>


@wwn vous êtes correct en fait. Je n'ai pas réalisé qu'il n'y avait pas besoin de trier. Merci :)


@Pacifist: analyse d'analyse de LS pourrait ne pas être une bonne idée: mywiki.woolgedge.org / Parsingls



0
votes

La commande suivante fonctionne.

ls | grep -v '/ $' | Trier | queue 1 | XARGS -D '\ N' -R -R MV - / chemin / à / à / p>

La commande commence première sortie de LS avec nouvelle ligne. Ensuite, il trie, prend le dernier fichier, puis il le déplace dans le répertoire requis.

espère que cela aide.


0 commentaires

0
votes

Utilisez la commande ci-dessous

CP LS | Tail -N 1 / Données ...


0 commentaires