basename iyo dirname: laba amar oo ay tahay inaad ogaato

terminal qolof amarrada Linux

Mararka qaar casharrada qaarkood waxaa loogu talagalay in lagu sharaxo xoogaa qariib ah iyo amarro qalaad, dhinaca kale, waxaa jira qaar ay ku jiraan qaybinta taxanaha ah oo aan caan u ahayn sida cd, ls, bisad, iwm, laakiin iyagu waa kuwo la taaban karo. Casharkaan waxaan ku tusi doonaa waxa lagu qaban karo laba ka mid ah amarradan: basename oo ii sheeg.

Waxaa laga yaabaa in ahmiyadaha ay kuugu muuqdaan kuwo aan caqli gal ahayn oo aan iyagu lahayn wax faa'iido ah, laakiin way leeyihiin codsiyada wax ku ool ah xaaladaha qaarkood, sida, tusaale ahaan, qoraallada meesha aad u baahan tahay inaad kala soo baxdo qayb ka mid ah dariiqa, sida magaca faylka ama galka si markaa amar kale uga shaqeeyo arrintan ...

Maxay u yihiin

Amaradaani waa kuwa aasaasi ah, iyo shaqooyinkiisa Waxay yihiin:

  • magaca basen: loo isticmaalay in laga soo saaro magaca faylka dariiqa.
  • iisheeg: loo adeegsaday in laga soo saaro magaca galka dariiqa.

Tusaalooyinka isticmaalka

Halkan waxaad ku arki kartaa qaar tusaalooyin sida loo isticmaalo:

  • Tusaale ahaan, in la isticmaalo magaca basen leh / iwm / passwd, iyo inay soo celiso magaca feylka soo saartiisa, kiiskan passwd:
basename /etc/passwd

  • Sidoo kale waad cayimi kartaa kordhin si ay kuu siiso magaca faylka iyadoon lagu kordhin. Tusaale ahaan, ka soo qaad inaad rabto inaad soo saarto magaca sawir /home/media/test.jpg iyadoon la kordhin kordhinta jpg (way soo noqon lahayd) imtixaan):
basename -s .jpg /home/media/prueba.jpg

  • Xitaa waad awoodaa socodsiiya wadooyin badan hal mar si gooni gooni ah, tan waa inaad u isticmaashaa - ikhtiyaarka:
basename -a /etc/passwd /var/log/boot.log

  • Si aad u sameyso wax ka soo horjeeda, oo ku siiya magaca galka, adiga oo aan lahayn magaca feylka, markaa waa inaad isticmaashaa iisheeg. Tusaale ahaan, haddii aad rabto inaad ku isticmaasho dariiqa /var/spool/mail/test.txt oo aad ku soo celiso / var / spool / mail, ka dib isticmaal:
dirname /var/spool/mail/prueba.txt

Sida loogu talagalay a utility qoraal ahaan, halkan waxaad ku haysaa tusaale kale. Ka soo qaad in aad haysato qoraal fudud, oo taas dhexdeeda ay jirto waddo isbeddela. Laakiin waxaad dooneysaa inay muujiso galka ay ku jiraan feyl, iyadoon loo eegin feylka, haddii ay sidaas dhacdo waxaad yeelan kartaa wax sida:

pathname="/home/usuario/data/fichero"

result=$(dirname "$pathname")

echo $result

Sida iska cad, qoraalkan "dariiqa dariiqa" had iyo jeer wuxuu ahaan doonaa mid taagan oo uu ku dhawaaqo markasta bilowga, laakiin waxaa jiri kara kiisas aysan ahayn, waana halkaas meesha waxay noqoneysaa mid la taaban karo. Tusaale ahaan:

/*script para convertir una imagen gif en png*/

#!/bin/sh
for file in *.gif;do
    #Salir si no hay ficheros
    if [! -f $file];then
        exit
    fi
    b='basename $file .gif'
    echo NOW $b.gif is $b.png
    giftopnm $b.gif | pnmtopng >$b.png
done


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Ka mas'uul ah xogta: AB Internet Networks 2008 SL
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.

  1.   Gregory ros dijo

    Tusaale wanaagsan oo ka mid ah waxyaabahaas oo markii aad wax baranayso aad ku aragto wax aan faa'iido lahayn, laakiin markii aad u tagto mawduuca waxaad arkaysaa sida ay u dhaqan yihiin.