10.14 Mojave Terminal et split

symbol

Membre actif
13 Octobre 2004
536
25
Bonjour

Avec la commande suivante
Bloc de code:
split -b 50000k /Users/xxx/Desktop/lu38a87/lu87.txt     /Users/xxx/Desktop/lu38a87/ly87_

ca split le fichier lu87.txt en parts plus petites.

Mais comment faire pour appliquer ce split a toutes les fichiers .txt se trouvant dans le dossier lu38a87 ?

Je voudrais spliter les fichier :
lu38.txt
lu39.txt
lu40.txt
...
lu85.txt
lu86.txt
lu87.txt
lu88.txt

en sachant que les petites morceaux doivent rependre le nom du fichier original
lu38.txt -> lu38_aa.txt, lu38_ab.txt, lu38_ac.txt...etc
lu39.txt -> lu39_aa.txt, lu39_ab.txt, lu39_ac.txt...etc

Merci
 
Bloc de code:
cd /Users/xxx/Desktop/lu38a87
for file in *.txt
do
splitname=$(basename $file | sed "s/\.[^.]*/_/")
split -b 50000k "$file" "$splitname"
done
 
@ecatomb,

Je suis ennuyé car j'ai un fichier de 34 Go a decouper en morceaux de 50 megas, mais la commande split ajoute une extension aux morceaux sous forme fichieraa, fichierab, fichierac, fichierad etc... jusqu'a fichierzz.
Sauf que 34 Go en morceaux de 50 megas, ca fait bien plus que 325 morceaux.
Du coup la commande split me renvoi une erreur et arrete de splitter quand il arrive a fichierzz.txt

Est -il possible d'avoir les morceaux avec l'extension fichieraaa, fichieraab, fichieraac..etcc jusqu'a fichierzzz ?

PS : je pourrais augmenter la taille des morceaux, mais je prefere rester a 50 megas.

merci
 
Effectivement c'est efficace !

Capture-d-e-cran-2019-05-18-a-10-00-24.jpg


Postez une réponse si vous êtes sur que ca marche. Merci
 
Avec l'option
Bloc de code:
-a suffix_length
J'ai mis 5 pour avoir 5 lettres au lieu de 2 dans cet exemple

Bloc de code:
cd /Users/xxx/Desktop/lu38a87
for file in *.txt
do
splitname=$(basename $file | sed "s/\.[^.]*/_/")
split -a 5 -b 50000k "$file" "$splitname"
done
 
  • J’aime
Réactions: daffyb
Postez une réponse si vous êtes sur que ca marche. Merci

Effectivement, je n'avais pas essayé avec 500 morceaux, n'ayant pas un fichier d'une telle taille à spliter.

Pour le reste, je poste ce que je veux et si tu n'es pas content tu vas chercher un service payant où ta qualité de client te permettra ce genre de remarques.
 
  • J’aime
Réactions: Gwen