Forum » Pomoč in nasveti » UNIX, mv, muvanje fajlse
UNIX, mv, muvanje fajlse
bijonda ::
Hallo!
Jaz se vdam. Ze par dni se zezam s tem in mi nic vec ne pade v glavo, kar pa mi pade, ne dela.
V direktoriju moram prebrati file, ki se koncajo s koncajo s .FIN. Npr imam file mx.52164.fin, potem moram stran odrezati ta fin in v istem direktoriju poiskati file, ki bi ustrezal file ki se je koncal z .fin.
Npr. imam file mx.52164.fin, odrezem fin in dobim mx.52164. potem moram najti file mx.52164.dat in vse skupja moram movat v drug direktori!
Evo to je za zdaj moja skripta, zal pomanjkliva:
ls /home/bgw/Ivana1/SAMO1/*FIN | cut -d"." -f1 > fin # tu jih zlistam brez .fin
cat $fin | while read line
do
# tu bi jih morala premakniti, pa mi ne gre
done
Ali bi mi lahko kdo lepo prosim pomagal, ker nimam skoraj nobene ideje vec !
Hvala vse za pomoc!
LP Bijonda
Jaz se vdam. Ze par dni se zezam s tem in mi nic vec ne pade v glavo, kar pa mi pade, ne dela.
V direktoriju moram prebrati file, ki se koncajo s koncajo s .FIN. Npr imam file mx.52164.fin, potem moram stran odrezati ta fin in v istem direktoriju poiskati file, ki bi ustrezal file ki se je koncal z .fin.
Npr. imam file mx.52164.fin, odrezem fin in dobim mx.52164. potem moram najti file mx.52164.dat in vse skupja moram movat v drug direktori!
Evo to je za zdaj moja skripta, zal pomanjkliva:
ls /home/bgw/Ivana1/SAMO1/*FIN | cut -d"." -f1 > fin # tu jih zlistam brez .fin
cat $fin | while read line
do
# tu bi jih morala premakniti, pa mi ne gre
done
Ali bi mi lahko kdo lepo prosim pomagal, ker nimam skoraj nobene ideje vec !
Hvala vse za pomoc!
LP Bijonda
BigWhale ::
Ce ne najdes .dat datoteke kaj moras narediti s tisto .fin datoteko? Jo vseeno prestaviti ali ne?
bijonda ::
Malo prehitro prebrala.
Muvat moram vse fajle ki imajo koncnico fin in tiste ki imajo koncnico dat, ki se ujemajo z fin fajli! Ostale dat fjali pa me ne zanimajo.
Muvat moram vse fajle ki imajo koncnico fin in tiste ki imajo koncnico dat, ki se ujemajo z fin fajli! Ostale dat fjali pa me ne zanimajo.
Zgodovina sprememb…
- spremenila: bijonda ()
b ::
DEST=/path/to/destination cd /path/to/source for file in *.fin do mv $file $DEST mv `basename $file .fin`.dat $DEST done
Pa ce si pameten, bos pred drugim mv se potestiral, ce file obstaja, sicer ti bo javil error.
Brane2 ::
Pa ce si pameten, bos pred drugim mv se potestiral, ce file obstaja, sicer ti bo javil error.
Potem bi blo verjetno bolje, če bi oba mv-a združil v en stavek:
EST=/path/to/destination
cd /path/to/source
for file in *.fin
do
mv $file $DEST && mv `basename $file .fin`.dat $DEST
done
On the journey of life, I chose the psycho path.
Zgodovina sprememb…
- spremenil: Brane2 ()
bijonda ::
Zal mi ne dela. Mi javlja napako
mv: cannot access *.fin
Skripta:
DEST=/home/bgw/Ivana1/Samo
cd /home/bgw/Ivana1/SAMO1
for file in *.fin
do
mv -i $file $DEST
mv -i `basename $file .fin`.dat $DEST
done
Sem se nova v pisanje skript v unixu!
mv: cannot access *.fin
Skripta:
DEST=/home/bgw/Ivana1/Samo
cd /home/bgw/Ivana1/SAMO1
for file in *.fin
do
mv -i $file $DEST
mv -i `basename $file .fin`.dat $DEST
done
Sem se nova v pisanje skript v unixu!
Brane2 ::
hm, stvar ne expandira filenamea.
Probaj
for file in *.fin
nadomestit z
for file in ./*.fin
Probaj
for file in *.fin
nadomestit z
for file in ./*.fin
On the journey of life, I chose the psycho path.
bijonda ::
tudi ne gre
Tako imam file v direktoriju:
USEX_SML27_20060503144353_CHRG_20060503144353.FIN
USEX_SML27_20060502145929_FREE_20060502145929.DAT.gz USEX_SML27_20060503144425_CHRG_20060503144425.DAT.gz
Upam da vam je zdaj kaj bolj lazje!
Tako imam file v direktoriju:
USEX_SML27_20060503144353_CHRG_20060503144353.FIN
USEX_SML27_20060502145929_FREE_20060502145929.DAT.gz USEX_SML27_20060503144425_CHRG_20060503144425.DAT.gz
Upam da vam je zdaj kaj bolj lazje!
Brane2 ::
Čakaj malo. potem končnica ni fin oz dat ampak FIN.gz in DAT.gz .
To bistveno spremeni stvari. Temu ustrezno spremeni program, seveda.
Nekaj v stilu:
DEST=/home/bgw/Ivana1/Samo
cd /home/bgw/Ivana1/SAMO1
for file in *.FIN.gz
do
mv -i $file $DEST
mv -i `basename $file .FIN.gz`.DAT.gz $DEST
done
To bistveno spremeni stvari. Temu ustrezno spremeni program, seveda.
Nekaj v stilu:
DEST=/home/bgw/Ivana1/Samo
cd /home/bgw/Ivana1/SAMO1
for file in *.FIN.gz
do
mv -i $file $DEST
mv -i `basename $file .FIN.gz`.DAT.gz $DEST
done
On the journey of life, I chose the psycho path.
veteran ::
Ej, odloči se že, kakšne pripone imaš. Če imaš .FIN in .DAT.gz potem takole:
Kakšen narekovajček je mogoče odveč (preventivno, ker so ljudje zlobni in tlačijo presledke v imena.) :)
BTW, namesto vrstice z basename bi šlo tud tole (mal hitrejše):
for file1 in *.FIN; do file2=`basename "$file1" .FIN`.DAT.gz mv "$file1" "$dest" if [ -f "$file2" ]; then mv "$file2" "$dest" fi done
Kakšen narekovajček je mogoče odveč (preventivno, ker so ljudje zlobni in tlačijo presledke v imena.) :)
BTW, namesto vrstice z basename bi šlo tud tole (mal hitrejše):
file2=${file1%.FIN}.DAT.gz
Zgodovina sprememb…
- spremenil: veteran ()
bijonda ::
Hvala za pomoc.
Dela!
Jeeee!
Kaj se pa koncnic tice, si nisem jaz izmisljevala, temvec moj metor! Sej sem ga zdaj vprasala in je rekel, da bodo dat file vedno zazipani!
Se enkrat najlepsa hvala!
Zelim vam lep dan!
Dela!
Jeeee!
Kaj se pa koncnic tice, si nisem jaz izmisljevala, temvec moj metor! Sej sem ga zdaj vprasala in je rekel, da bodo dat file vedno zazipani!
Se enkrat najlepsa hvala!
Zelim vam lep dan!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Bash osnoveOddelek: Programiranje | 2022 (812) | Brane22 |
» | [bash] Sortiranje fotografij po datumuOddelek: Programiranje | 1450 (1011) | Mike0 |
» | [UNIX] arg list too longOddelek: Programiranje | 1939 (1194) | bijonda |
» | Ime Priimek v Ime_Priimek (strani: 1 2 )Oddelek: Programska oprema | 4983 (3943) | Doman |
» | Iz BMP v JPEG.Oddelek: Programska oprema | 1430 (1324) | der_Alte |