Adam the Automator

Oletko Uusi Linux-käyttöjärjestelmässä? Jos näin on, yleiset tehtävät, kuten tiedostojen ja kansioiden uudelleennimeäminen, voivat olla erilaisia kuin mihin olet tottunut. Mutta älä hermoile. Tiedostojen uudelleennimeämisen käsite Linuxissa on samanlainen kuin muissa käyttöjärjestelmissä.

tässä opetusohjelmassa opit monia tapoja nimetä Linuxissa olevia yksittäisiä ja useita tiedostoja uudelleen, sekä GUI: n että päätteessä suoritettavien komentojen avulla.

Let ’ s get started!

Sisällysluettelo

Edeltävät opinnot

jos haluat seurata tätä opetusohjelmaa, varmista, että sinulla on seuraavat tiedot::

  • tämä opetusohjelma käyttää Ubuntu 18.04 LTS: ää, mutta muut Linux-distrot toimivat.
  • tili, jolla on sudo / administrator-pääsy.

Tiedostojen uudelleennimeäminen tiedostonhallintaohjelmalla

jos olet tottunut hallitsemaan tiedostoja GUI: n kautta, aloitetaan tämä opetusohjelma tiedostojen uudelleennimeämiseksi tiedostonhallintaohjelmalla. GUI tiedostonhallinta ovat siistejä, koska näet tiedostot näkyvillä. Yksi näistä Linuxissa saatavilla olevista tiedostonhallintaohjelmista on Gnomen entinen tiedostonhallintaohjelma Nautilus. Tämä opetusohjelma osoittaa tiedostojen uudelleennimeämisen Nautilus – tiedostonhallinnan avulla.

Linuxin muita tiedostonhallintaohjelmia ovat Konqueror, Dolphin, Krusader, Thunar, Nemo file manager ja Sunflower file manager. Nämä tiedostonhallijat suorittavat saman tehtävän, mutta tiedostojen tai hakemistojen uudelleennimeäminen voi olla hieman erilaista.

Käynnistä pääte ja suorita sitten alla oleva komento ja asenna Nautilus (install nautilus) apt – paketinhallintaohjelmalla, jos sitä ei vielä ole koneessasi. Komento sudo nostaa komennon sudo/administrator-oikeuksilla.

sudo apt install nautilus

yksittäisen tiedoston uudelleennimeäminen

yksittäisen tiedoston uudelleennimeäminen nautiluksessa vaatii vain muutaman klikkauksen, kuten Windows File Explorerissa.

jos haluat nimetä yhden tiedoston uudelleen, avaa Nautilus, napsauta hiiren kakkospainikkeella tiedostoa, jonka haluat nimetä uudelleen, ja valitse Uudelleennimeä, kuten alla on esitetty.

tämä esimerkki keskittyy tiedostojen uudelleennimeämiseen,mutta prosessi on sama sekä tiedostojen että hakemistojen uudelleennimeämiseksi.

yhden tiedoston uudelleennimeäminen
yhden tiedoston uudelleennimeäminen

kirjoita nyt uusi tiedostonimi alkuperäisen tiedostonimen tilalle, paina Enter tai napsauta Nimeä uudelleen, ja se on siinä.

syötetään uusi tiedostonimi
syötetään uusi tiedostonimi

useiden tiedostojen uudelleennimeäminen Nautilus-tiedostonhallinnan

avulla, kuten Windows, Ubuntu antaa sinulle enemmän vaihtoehtoja siitä, miten haluat nimetä useita tiedostoja kerralla.

jos haluat nimetä useita tiedostoja uudelleen, Valitse kaikki tiedostot, jotka haluat nimetä uudelleen, napsauta niitä hiiren kakkospainikkeella ja valitse Nimeä uudelleen. Näkyviin tulee ponnahdusikkuna, jossa voit valita, miten haluat nimetä valitsemasi tiedostot uudelleen.

Useiden Tiedostojen Uudelleennimeäminen Nautiluksen Avulla.
Nimeää Useita Tiedostoja Nautiluksen Avulla.

alla on kaksi vaihtoehtoa, joista valita riippuen siitä, miten haluat nimetä valitut tiedostot uudelleen.

  • Nimeä uudelleen mallipohjan avulla-näin voit nimetä tiedostoja uudelleen portaittain.
  • Etsi ja korvaa teksti-Voit löytää ja korvata tiettyjä tekstejä tiedostonimissä.

Tiedostojen uudelleennimeäminen mallipohjaa käyttäen

tiedostojen uudelleennimeämiseksi mallipohjaa käyttäen, valitse Nimeä mallipohjaa käyttäen.

kirjoita nyt korvaava nimi tyhjään kenttään, jos haluat nimetä tiedostoja mallipohjalla, ja napsauta + Lisää-painiketta ja valitse mallipohjista. Valitse tämän opetusohjelman ensimmäinen (1,2,3,4) ja napsauta Nimeä uudelleen. Tämä asetus lisää lisäyksiä jokaiseen tiedostoon korvaavan tiedostonimen (Text1, Text2,…) jälkeen.

Tiedostojen uudelleennimeäminen mallipohjalla
Tiedostojen uudelleennimeäminen mallipohjalla

huomaa tiedostojen nimet muutettu tekstiksi, jonka jälkeen lisätään numeroita.

tiedostonimien tarkistaminen muutettu muotoon" Text "lisättävällä Num: lla
tiedostonimien tarkistaminen muotoon ”Text” lisättävällä Num: lla

Etsi ja korvaa sanat tiedostonimissä

jos haluat nimetä useita tiedostoja uudelleen tietyllä tiedostonimellä, valitse Etsi ja korvaa teksti-asetus.

Kirjoita teksti olemassaolevaan tekstikenttään ja korvaava teksti Korvaa-kenttään ja napsauta sitten Nimeä korvataksesi tekstin. Tämä asetus etsii ja korvaa tietyt tekstit tiedostonimissä.

tekstien korvaaminen tiedostonimissä
tekstien korvaaminen tiedostonimissä

nyt, näet alla, että olet korvannut sanan ”teksti” kanssa ”tiedosto” kunkin tiedoston nimi.

sanan "teksti" tarkistaminen korvattiin sanalla "tiedosto" jokaisessa tiedostossa
sanan ”teksti” tarkistaminen korvattiin sanalla” tiedosto ” jokaisessa tiedostossa

Tiedostojen uudelleennimeäminen MV-komennolla

jos komentojen suorittaminen on sinun juttusi sen sijaan, että navigoit käyttöliittymässä, valmistaudu opettelemaan tiedostojen nimeäminen uudelleen päätteessä. Tiedostojen uudelleennimeäminen Linux-päätteessä on samanlaista kuin muissa komentoriviympäristöissä, kuten Powershellissa. Suoritat komennot nimetä alkuperäisen tiedoston nimi kohdetiedoston nimi, ja se on se.

tiedoston uudelleennimeämisessä on kaksi skenaariota. Ensimmäinen on tiedoston nimeäminen uudelleen työhakemistosta ja toinen määrittelemällä koko polku. Katso alla olevaa komennon mv syntaksia ja nimeä tiedosto uudelleen, jossa source on alkuperäinen nimi ja destination on korvaava nimi.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>

yhden tiedoston uudelleennimeäminen MV-komennolla

kun MV-komennon syntaksi on vielä tuoreessa mielessä, kokeillaan yhden tiedoston uudelleennimeämistä.

osoittamaan, miten yksittäinen tiedosto ja kansio nimetään uudelleen:

1. Käynnistä pääte ja suorita komentosarja alla luodaksesi hakemiston ja kaksi tekstitiedostoa.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt 

2. Suorita seuraavaksi komento ls luetteloidaksesi työhakemiston sisällä olevat tiedostot. Alla näet kyseisen tiedoston1.txt ja file2.txt on olemassa ~ / test-hakemistossa.

Tiedostojen luettelointi työhakemistoon
Tiedostojen luettelointi työhakemistoon

3. Suorita jompikumpi alla olevista mv komennoista uudelleennimeäksesi file1.txt nimellä file10.txt.

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt

hakemiston uudelleennimeäminen on sama kuin tiedoston uudelleennimeäminen, näin: mv ~/test ~/demo. Tunnus ~ tarkoittaa kotihakemistoa.

4. Kirjoita lopuksi ls – komento uudelleen työhakemiston tiedostojen luetteloimiseksi.

alla näet kyseisen tiedoston1.txt on nyt nimetty uudelleen tiedostoksi 10.txt.

vahvistetaan tiedosto1.txt uudelleennimetään tiedostoksi 10.txt
vahvistaa tiedosto1.txt uudelleennimetään tiedostoksi 10.txt

useiden For Loop

– tyyppisten tiedostojen uudelleennimeäminen jos sinulla on liian kiire muiden tehtävien kanssa ja haluat nimetä kaikki tiedostot yhdellä kertaa, sinun on käytettävä alla olevan kaltaista for loop-lauseketta.

kopioi alla oleva koodi sellaisenaan, liitä se päätteeseesi ja paina Enter-näppäintä. Alla oleva koodi skannaa jokaisen työhakemiston tekstitiedoston ja nimeää tiedostot ”tiedostolla”, jota seuraa lisänumero.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

koodin liittäminen päätelaitteeseesi toimii hyvin, mutta hyvänä käytäntönä on parempi, jos luot komentosarjatiedoston, joka suoritetaan sen sijaan.

alla näet toiminnassa, miten koodi nimeää kaikki tiedostot.

Tiedostojen uudelleennimeäminen For-silmukalla
Tiedostojen uudelleennimeäminen For-silmukalla

Tiedostojen uudelleennimeäminen Linuxissa uudelleennimeämisohjelmalla

jos nimeät yhden tiedoston uudelleen päivittäisessä rutiinissasi, mv – komento riittää. Mutta ehkä olet tavoitteena nimetä useita tiedostoja samalla kaavalla kerralla? Esimerkiksi uudelleennimeämällä tiedostoja, jotka alkavat tietyllä sanalla (tiedosto). Siinä tapauksessa, asenna nimeä apuohjelma sijaan.

uudelleennimeämistyökalu nimeää useita tiedostoja, muuttaa tiedostonimimuotoja ja korvaa tiedostoja.

uudelleennimeämisapuohjelman asentamiseksi suorita jokin alla olevista komennoista riippuen Työstämästäsi Linux-distrosta.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

näet alta rename komentosyntaksin.

rename <options> <perlexpr> <files>

useiden tiedostojen uudelleennimeäminen

rename komentosyntaksi mielessä, voit nyt nimetä tiedostoja, joissa on sama kuvio. Hienoa rename – komennossa on se, että sinun ei tarvitse julistaa loop-toimintoa nimeääksesi useita tiedostoja uudelleen, kuten teit ”Renaming Multiple Files with a For Loop” – osiossa.

ehkä haluat nimetä tiedostoja, joissa on tiettyjä sanoja. Jos näin on, katso Perlin säännöllistä lauseketta ('s/file/myfile/') alla olevasta esimerkkikomennosta. Perlin säännölliset lausekkeet määrittelevät merkkijonon, joka perustuu Perl-ohjelmointikieleen.

välttääksesi muiden tiedostojen virheellisen uudelleennimeämisen, luetteloi kaikki kyseiset tiedostot ennen niiden uudelleennimeämistä lisäämällä -n – valinta, kuten alla on esitetty.

rename -n 's/file/myfile/' *.txt
Ongelmatiedostojen listaaminen ennen uudelleennimeämistä
Ongelmatiedostojen listaaminen ennen uudelleennimeämistä

Suorita nyt joko alla olevista rename komennoista sana file myfile jokaisen tekstitiedoston nimessä työhakemiston sisällä tai ~/test/*.txt hakemistossa.

Perl-lausekkeessa ('s/file/myfile/') s merkitsee substituutiota, mikä tarkoittaa tiedostojen uudelleennimeämistä. Huomaa, että -v – asetus lisätään palauttaaksesi komennon uudelleennimetyt tiedostot.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

alla näkyy, että jokainen tekstitiedostojen” tiedosto ”- sana on nimetty muotoon ” myfile.”

Tiedostojen uudelleennimeäminen komennolla
tiedostojen uudelleennimeäminen komennolla rename

jos haluat nimetä kaikki tiedostot uudelleen, poista tiedostopääte, kun määrität tiedostopolun, esimerkiksi, rename -v 's/file/myfile/' ~/test/*

muuttuvat tiedostopäätteet

muut kuin tiedostonimet, komento rename nimeää myös tiedostopäätteet. Ehkä olet luonut tiedostoja väärällä tiedostotunnisteella. Siinä tapauksessa määrität tiedostopääteen, joka muuttuu Perl-lausekkeessa, kun suoritat komennon rename.

suorita alla oleva rename – komento muuttaaksesi kaikki tiedostot ” (*) – laajennus .txt.html – kansiossa ~/test. $ symboli Perl-lausekkeessa vastaa merkkijonon (.txt) loppua kuhunkin tiedostonimeen, joten komento muuttaa vain .txt tiedostopäätteitä. Ja kuten useiden tiedostojen uudelleennimeämisessä, lisää -v – valitsin listataksesi kaikki komennon tekemät muutokset.

rename -v 's/.txt$/.html/' *.txt

jos haluat poistaa kaikki tiedostopäätteet, poista korvaava merkkijono Perl-lausekkeesta näin: rename -v 's/.txt$//' *.txt

kuten näette kuvan alla,.txt laajennukset muutettu .html

muutan tiedostopäätteitä mistä .txt to .html
muuttuvat tiedostopäätteet alkaen .txt to .html

tiedostonimien muuttaminen isoiksi ja pieniksi kirjaimiksi

virheellisten tiedostopäätteiden sijaan saatat käsitellä tiedostonimiä pienillä kirjaimilla ja päinvastoin. Ehkä yrität löytää tiedoston nimenomaan isoilla kirjaimilla, tietämättä tiedoston nimi on pieni.

Linux on kirjainkokoherkkä, joten varmistetaan, että sinulla on jokaisen tiedostonimen kirjaintapaus oikein. Kirjainlaukku on pohjimmiltaan tekstien erottelua pienten ja suurten kirjainten välillä.

suorita jompikumpi alla olevista rename komennoista muuttaaksesi kaikki työhakemiston (*) pienet (a-z) tiedostonimet isoiksi (A-Z) ja päinvastoin.

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

voit katsoa alta molemmat tulokset tiedostonimen kirjainjutun muuttamisesta.

tiedostonimen muuttaminen pienistä isoista ja päinvastoin
tiedostonimen muuttaminen pienistä isoista ja päinvastoin

korvaa ja poistaa välilyöntejä tiedostonimissä

kuten tiedostonimen kirjainkotelossa, voi olla vaikeuksia löytää tiedostoja, jos niiden tiedostonimissä on välilyöntejä. Korjataan se joko korvaamalla välilyönnit merkillä tai poistamalla välilyönnit kokonaan.

suorita alla oleva komentorename korvataksesi välilyönnit kaikissa tiedostonimissä alaviivalla (_) työhakemistossa. Koska alaviiva on metatyyppi, pakota se selkäviivalla (\_) julistamaan alaviiva kirjaimellisesti. Metakaraktorit ovat erikoismerkkejä, joilla on erityisiä merkityksiä tietokoneohjelmassa.

huomaa, että Perl-lausekkeessa oleva g kertoo komennon korvaavan kaikki osumat (välilyönnit), eikä vain ensimmäistä.

rename -v 's/ /\_/g' *

alla näkyy, että komento korvasi kaikki välilyönnit alaviivoilla.

korvaa välilyönnit alaviivoilla tiedostonimessä
korvaa välilyönnit alaviivoilla tiedostonimessä

jos haluat poistaa kaikki välilyönnit tiedostonimestä sen sijaan, että täyttäisit ne merkillä, suorita alla oleva komento.

alla olevassa Perl-lausekkeessa tyhjän avaruuden (/ *) perässä oleva asteriski täsmää kaikkiin tiedostonimen välilyöntien esiintymiin eikä vain ensimmäiseen. Korvaava merkki on tyhjä (//), joten rename – komento poistaa kaikki (g) välilyönnit.

rename -v "s/ *//g" *

nyt näet alta, että kaikki välilyönnit on poistettu jokaisesta tiedostonimestä.

poistetaan kaikki välilyönnit tiedostonimistä
poistetaan kaikki välilyönnit tiedostonimistä

jokaisen sanan ensimmäisen kirjaimen isolla alkukirjaimella tiedostonimessä

jos haluat säilyttää välilyönnit ja isolla jokaisen sanan ensimmäisen kirjaimen tiedostonimessä, tarvitset monimutkaisemman Perl-lausekkeen. Tutustu esimerkkikomentoon alla.

alla oleva Perl-lauseke vastaa mitä tahansa yksittäistä merkkiä (\w) sanarajassa (\b), kunhan merkki ei ole periodi eikä heittomerkki (?<!). Komento rename kääntää tämän jälkeen kirjaimen isoiksi kirjaimiksi (u$&).

rename -v 's/(?<!)\b\w*/\u$&/g' *

alla näkyy, että jokainen sana tiedostonimissä alkaa isolla kirjaimella jättäen tiedostopäätteet koskemattomiksi.

jokaisen sanan ensimmäisen kirjaimen isolla alkukirjaimella tiedostonimissä
jokaisen sanan ensimmäisen kirjaimen isolla alkukirjaimella tiedostonimissä

johtopäätös

tämän opetusohjelman aikana olet oppinut monia tapoja nimetä Linux-tiedostoja uudelleen GUI: n ja komentorivipäätteen kautta. Sinulla on nyt vankka käsitys siitä, miten manipuloida nimiä yhden ja useita tiedostoja kerralla.

miksi ei opeteltaisi Linux shell scriptingiä ja luotaisi skriptiä, jolla tiedostojen uudelleennimeäminen Automatisoitaisiin Linuxissa?

Vastaa

Sähköpostiosoitettasi ei julkaista.