Shell Geek: Pārdēvēt vairākus failus vienlaicīgi

Shell Geek: Pārdēvēt vairākus failus vienlaicīgi
Shell Geek: Pārdēvēt vairākus failus vienlaicīgi

Video: Shell Geek: Pārdēvēt vairākus failus vienlaicīgi

Video: Shell Geek: Pārdēvēt vairākus failus vienlaicīgi
Video: How To Send Large Files Over the Internet in 2022? (Super Easy) - YouTube 2024, Novembris
Anonim

Pieņemsim, ka jums ir katalogs ar simtiem failu ar nepareiziem failu nosaukumiem, un jūs vēlaties aizstāt visus faila nosaukumus, kas satur pārbaude ar prod. (šis ir veidots piemērs). Mēs to varam viegli izdarīt ar "for" komandu bash, kopā ar mazliet bash labestību. Šodien mēs uzzināsim, kā aizstāt tekstu ar mainīgo ciklā.

Komandu "par" darbojas šādi:

for var in ;do $var;done

Jūs varat nomainīt ar jebkuru failu atbilstības modeli, piemēram, * vai *.txt, un jūs varat to nomainīt ar jebkuru komandu linux. Komanda tiks palaista secīgi katrā failā, kas atbilst faila atbilstības shēmai.

Tas ir tas, ka apstrāde ar bash mainīgumu padara to vēl interesantāku. Tā vietā, lai vienkārši darītu kaut ko līdzīgu "mv $ var", mēs varam aizstāt tekstu faila nosaukumā, izmantojot šo sintaksi:

${var/originaltext/replacetext}

Tātad tagad, ja mēs palaistu šo komandu mūsu direktorijā:

for f in *;do mv $f ${f/test/prod};done

Katram failam, kas ir saskaņots ar *, bash izpildīs līdzīgu komandu:

mv test.config prod.config

Es atklāju, ka, zinot čaulu, ir nenovērtējama, pārvaldot serverus vai vienkārši pārvaldot failu kolekciju, un esmu ietaupījis stundas par to, kas citādi būtu manuāls darbs.

Un jā, es saprotu, ka ir vairāki rīki, kas var veikt vairāku failu pārdēvēšanu.

Ieteicams: