Découpage de ligne en bash

Tags: #<Tag:0x00007f63f5ce7128> #<Tag:0x00007f63f5ce7060>

Ce n’est ni une question de plaisir ni une techno qui plait ou pas. j’utilise ce dont je dispose.
Quand au fichier c’est tout simplement un log de l’outil robocopy de windows; je n’ai donc pas le loisir de décider de sa structure.

nom de fichier n’est ni quoté et contient des espaces et des caractères spéciaux, je me recite car visiblement pas très bien compris:

Dans le premier message.

Du coup j’ai utilisé sed.
Et ce faisant, j’ai fini par découvrir que ce qui semblait être des espaces etait aussi parfois des ^I (CTRL-I). J’ai donc converti ces éléments par des espaces pour n’avoir que des espaces.
Il y a aussi de nombreux ^M (CTRL-M) dont certain n’ont rien à avoir avec une fin de ligne mais sont induit apparemment par des caractères accentués de certaines langues.

De fait il a fallut faire d’abord un certain nombre de conversion, de windows vers unix, puis de convertir tous les ^M et les ^I.
Supprimer les pourcentages.

Le script que j’ai affiché inclut en sus (non indiqué ans la demande initiale) le fait que le répertoire lié au fichier est mis avant celui-ci une seule fois ce qui implique de lire le fichier ligne par ligne et de mémoriser le répertoire courant pour ensuite traiter les fichiers des lignes suivantes.

Mais l’affichage comportant des caractères de contrôle est pollué, ce qui va probablement nécessiter d’utiliser un langage comme le perl ou de plus haut niveau pour pouvoir éviter les quelques milliers d’échecs.

Nous avons répondu a la demande initiale telle qu’elle a été exposée. Si maintenant le sujet est autre, et que tu souhaites toujours bénéficier de nos contributions, il va te falloir l’expliciter et fournir un fichier test qui comporte tous les cas de figure succeptible d’être rencontré. :wink:

Ps: Il est préférable d’ouvrir un autre fil pour une nouvelle demande.

Tu n’as rien compris aux réponses, ne comprend pas le concept de sed, et tu n’as rien essayé, avec aucun contre-exemples pour démontrer que ‹ ça marche pas’ , › ça ne marchera jamais.…’
On veut juste voir / pas besoin de baratin.
Tes justifications de ‹ caractères potentiels du code ascii en anglais, français, finlandais, suedois, norvegien, allemand, espagnol, norvégien › sont totalement bidons et farfelues, et le tronçonnage de sed jusqu’au premier chiffre s’en moque éperdument.
Tu cherches en fait juste à te convaincre que ton problème est super compliqué, alors qu’extrêmement simple si exposé avec quelques exemples concrets, même qui te semblent très compliqués.
La prochaine fois que tu n’as besoin de rien, n’hésite pas à demander.

non ce n’est pas farfelu, le fichier contient des caractèresd alphabétiques spécifiques (les umlaut) idem avec le norvegien, le finlandais et le suedois.
mais c’est vrai, tu sais probablement mieux que moi.
Ah et en passant le fichier est con,sidéré comme du ascii US. comme quoi on peut avoir des choses bizarres, fichier produit par le robocopy de microsoft windows server.

Et mes collègues experts aussi bien windows que linux (pour le parsing) n’ont pas réussi à faire une extraction avec les caractères en question exploitables (avec sed et awk en passant).

Donc ton je cite :

tu sais où tu peux te le mettre.
Je ne peux même pas en copier un bout ici, car le site convertit le texte ou ignore les caractères en question.

je crois qu’il est temps de vérrouiller le sujet.