Puncte:1

Mutați fișierele cu extensie în structură diferită

drapel lk

Am nevoie de fiecare mutare fisier.tif a dir TIFF în interiorul părintelui său dir.

 Â âââ 1
  â  âââ 240_01.tif
   â  âââ 240_02.TIF
 TEST
  â  âââ syg_240_test_1.tif
 Â Â âââ 2-3
 â  âââ 2
   â  â  âââ 240_01.tif
  â  â  âââ 240_02.TIF
TEST
  â  â  âââ syg_240_test_1.tif
   â  âââ 3
  â  âââ 240_01.tif
   â  âââ 240_02.TIF
 TEST
  â  âââ syg_240_test_1.tif
 Â Â âââ 4
 Â Â âââ 240_01.tif
 Â Â âââ 240_02.TIF
 Â Â âââ TEST
 Â Â âââ syg_240_test_1.tif

De exemplu, ar trebui să arate așa:

âââ 1
â  âââ TEST
â  â  âââ syg_240_test_1.tif
â  âââ TIFF
â  âââ 240_01.tif
â  âââ 240_02.TIF
âââ 2-3
â  âââ TEST
â  â  âââ syg_240_test_1.tif
â  âââ TIFF
â  âââ 2
â  â  âââ 240_01.tif
â  â  âââ 240_02.TIF
â  âââ 3
â  âââ 240_01.tif
â  âââ 240_02.TIF
âââ 4
    âââ TEST
    â  âââ syg_240_test_1.tif
    âââ TIFF
        âââ 240_01.tif
        âââ 240_02.TIF

Încerc să folosesc mv /cale/*/*.tif/ /cale/*/TIFF/*.tif dar nu merge.

drapel hr
Dificultatea aici este că se pare că doriți operațiuni diferite în funcție de adâncimea fișierului (fișierelor) - de unde ar trebui să știm **programatic** dacă să mutăm fișierele la un nivel sau 2? Ce ar trebui să se întâmple cu „celălalt” fișier `TEST/syg_240_test_1.tif` când îmbinați `2-3/2/TEST` și `2-3/3/TEST`?
Puncte:1
drapel cn

Din nou, găsi poate veni în ajutor. Puteți găsi selectiv tiff fișierele din subfolderele de prim nivel, apoi utilizați un -execdir comandă care mută fișierul găsit într-un folder TIFF din directorul curent.

Ați putea apela un mic script care testează existența folderului TIFF, sau îl creează înainte de a muta toate fișierele tiff, dar pentru această singură dată, probabil că este mai ușor să lucrați în doi pași: 1) faceți folderul TIFF în orice din folderele de care aveți nevoie și 2) mutați fișierele TIFF acolo

găsi . -maxdepth 1 -type d -path '*/*' -exec mkdir {}/TIFF \;

va găsi folderele „1”, „2” etc, cu condiția ca directorul dvs. curent să fie cel care conține aceste foldere și va crea un director TIFF în fiecare dintre ele. Va apărea un mesaj de eroare dacă folderul TIFF există deja.

O a doua comandă poate muta apoi toate tiff fișierele în folderele nou create:

găsi . -type f -ipath '*/*/*.tif' -execdir mv {} TIFF \;

Aici, căutăm numai fișiere (-tip f) în folderele „1”, „2” etc, dar nu mai jos, din cauza modelului de fișier (-ipath). -ipath spre deosebire de -cale indică faptul că potrivirea nu face distincție între majuscule și minuscule. The -execdir acțiunea execută comanda ulterioară, însă în timp ce folderul curent este cel al fișierului găsit. {} reprezintă fișierul găsit. Din cauza -execdir, acesta este numai numele de bază al fișierului. Fișierul va fi mutat în folderul TIFF din folderul curent.

Spațiile din numele fișierului vor fi gestionate corect de către {} jeton.Nu este nevoie să inserați ghilimele, deși ați putea.

mechmati avatar
drapel lk
După ce a fost folosită această comandă, dir `TIFF` este la același nivel ca `1` `2-3` `3`, dar ar trebui să fie în interiorul lor (1,2-3,4). Am 1000 de dirs, handmade nu este o idee bună..
Whois_me avatar
drapel us
Tu spui 1000 de dirs, sunt toate numerotate la 1000?
mechmati avatar
drapel lk
Fiecare director are un nume aleatoriu
vanadium avatar
drapel cn
Desigur, trebuie să începeți în directorul potrivit, deoarece sunt folosite căi relative. Sau trebuie să adaptați comanda. Le-am testat, așa că pentru mine a funcționat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.