Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 3.001 pregleda

Najnovija ↓

Jednostavan script pojasnjenje 17.10.2011. u 04:47 · pre 183 meseca #1
Script radi savrseno, kratak je ali meni nije jasno nesto...

file1.txt
file2.txt
file3.txt

Script pravi derektorijume file1 file2 file3, zatim prebacuje file-ove u odgovarajuce direktorijume koji su kreirani shodno imenu file-a.


Citat:
#!/bin/bash

path=/home/bora/scripts/multidir

for f in $path/*.txt; do

dir=${f%.*}
mkdir "$dir"
mv "$f" "$dir"
done


Jel moze neko da mi pojasni ovo

Citat:
dir=${f%.*}


Nije mi jasno kako je ekstraktovao iz file1.txt samo file1. Vidim da je par karaktera, nisam programer, jednostavno ne razumem.
Potpis
Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
Re: Jednostavan script pojasnjenje 17.10.2011. u 05:59 · pre 183 meseca #2
Pročitaj prvo ovo:

http://www.gnu.org/software/ba...html#Shell-Parameter-Expansion

Citat:

${parameter%word}
${parameter%%word}
The word is expanded to produce a pattern just as in filename expansion. If the pattern matches a trailing portion of the expanded value of parameter, then the result of the expansion is the value of parameter with the shortest matching pattern (the ‘%’ case) or the longest matching pattern (the ‘%%’ case) deleted. If parameter is ‘@’ or ‘*’, the pattern removal operation is applied to each positional parameter in turn, and the expansion is the resultant list. If parameter is an array variable subscripted with ‘@’ or ‘*’, the pattern removal operation is applied to each member of the array in turn, and the expansion is the resultant list.


A evo i nekoliko primera koji će, nadam se, pomoći da razumeš:


f="abc.delete-me.txt"
echo ${f%*delete-me*}
abc.
# matchovan je i uklonjen samo trailing deo stringa



f="abc.delete-me.txt"
echo ${f%%*delete-me*}
# matchovan je i uklonjen ceo string



f="abc.delete-me.txt"
echo ${f%*delete-me}
abc.delete-me.txt
# nije matchovan trailing deo stringa



f="abc.delete-me.txt"
echo ${f%%*delete-me}
abc.delete-me.txt
# nije matchovan trailing deo stringa
echo ${f%%c.delete-me*}
ab
Potpis
Attempt all the problems. Those you can do, don't do. Do the ones you cannot.
Re: Jednostavan script pojasnjenje 17.10.2011. u 06:18 · pre 183 meseca #3
Upravo sam bio na http://www.gnu.org/s/bash/manual/bash.html

Hvala mnogo

Code:
f="abc.delete-me.txt"
echo ${f%*delete-me*}
abc.
# matchovan je i uklonjen samo trailing deo stringa


Jasno ko dan!
Potpis
Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme