J'essaie de compresser tous les fichiers .log dans mon répertoire de journal. Je souhaite compresser chaque fichier journal individuellement et le conserver dans le même répertoire, puis supprimer l'original. Je suis un peu nouveau dans l'utilisation de Linux et des boucles for sous Linux. Voici la boucle for que j'essaie d'exécuter

ssh user@SERVER "for i in *.log; do zip -m \"${i%.*}.zip\" \"${i%.*}\".*; done"

Ce qui s'est finalement passé, c'est que tous mes fichiers cachés ont été compressés. Comme je l'ai dit, je suis un peu nouveau, donc, quelle que soit l'erreur de syntaxe que j'ai commise, cela ne me saute pas aux yeux. Toute aide serait appréciée

0
ChrisP 18 nov. 2020 à 19:09

1 réponse

Meilleure réponse

Essayez ceci (vous étiez près)

ssh user@SERVER 'for i in *.log; do echo zip -m "\${i/.log/.zip}" "\${i}"; done'

Si la sortie semble correcte, supprimez le echo

1
netizen 18 nov. 2020 à 16:21