# Triage de fichier texte et de binaire

**URL:** <https://www.debian-fr.org/t/triage-de-fichier-texte-et-de-binaire/77611>\
**Category:** Support Debian\
**Created:** [Septembre 24, 2018, 4:40 UTC](https://www.debian-fr.org/t/triage-de-fichier-texte-et-de-binaire/77611 "2018-09-24T16:40:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![iBexys](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ibexys/32/7371_2.png) [@iBexys](https://www.debian-fr.org/u/iBexys)\
**Post date:** [Septembre 24, 2018, 4:40 UTC](https://www.debian-fr.org/t/triage-de-fichier-texte-et-de-binaire/77611/1 "2018-09-24T16:40:28Z")

</div>

Bonjour, bonsoir !  
Depuis peu sous Debian 9.x (ligne de commande only)

Je cherche désespérément une solution à la question suivante:

Copier tous les fichiers, du répertoire /usr et de ses sous répertoires, qui se terminent par stat dans le répertoire stat/texte si ce sont des fichiers textes et dans stat/binaire si ce sont des fichiers binaires.

Les arborescences de réceptions sont déjà créer.  
Merci par avance pour vos réponses !

---

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Septembre 24, 2018, 7:32 UTC](https://www.debian-fr.org/t/triage-de-fichier-texte-et-de-binaire/77611/2 "2018-09-24T19:32:23Z")

</div>

A tester ou creuser, en supposant que stat/texte soit /stat/texte:

```
apt install file
for F in $(find /usr -type f -name *.stat) ;do file $F |grep text && cp $F /stat/texte/ || cp $F /stat/binaire/ ;done
```

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Septembre 24, 2018, 7:38 UTC](https://www.debian-fr.org/t/triage-de-fichier-texte-et-de-binaire/77611/3 "2018-09-24T19:38:14Z")

</div>

Bonsoir,

ceci devrait faire le job:

```
for fichier in $(find /usr -type f -name "*stat") ; do
    if [$(file "$fichier" | grep -c binary) -eq 1] ; then 
        cp "$fchier" /stat/binaire/ 
    elif [$(file "$fichier" | grep -c text) -eq 1] ; then
        cp "$fichier" /stat/texte
    fi
done

```

EDIT: ah ben voilà, c’est comme la proposition de Verner mais en plus long

---

<div class="post-metadata">

**Author:** ![iBexys](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ibexys/32/7371_2.png) [@iBexys](https://www.debian-fr.org/u/iBexys)\
**Post date:** [Septembre 24, 2018, 7:47 UTC](https://www.debian-fr.org/t/triage-de-fichier-texte-et-de-binaire/77611/4 "2018-09-24T19:47:24Z")

</div>

Bonsoir et merci à vous deux déjà 😃

J’avais essayer la commande

```nohighlight
find /usr -name '*stat' -type f ( -perm -u=x -exec cp {} /mnt/recap1/stat/binaire \; -and -perm 644 -exec cp {} /mnt/recap1/stat/texte \; )

```

mais je vois pas ou est l’erreur (Les débuts de Linux)  
mon arborescence est monté comme tel  
`/mnt/recap1/stat/binaire`  
`/mnt/recap1/stat/texte`

---

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Septembre 24, 2018, 8:34 UTC](https://www.debian-fr.org/t/triage-de-fichier-texte-et-de-binaire/77611/5 "2018-09-24T20:34:05Z")

</div>

“stat/texte” était ambigü effectivement car pas un chemin absolu.  
Je pense que tu avais rectifié par toi-même les chemins exacts, et déjà testé.

```
# for F in $(find /usr -type f -name *.stat) ;do file $F |grep text && O='texte' || O='binaire' ;cp $F /mnt/recap1/stat/$O/ ;done
```
