![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| noob hjälp behövs | ace_face | Linux | 1 | 04-20-2008 09:23 |
| UNIX noob hjälp med awk? | AnnaLynn | Shell-programmering och Skript | 11 | 04-01-2008 10:29 |
| Unix noob, vad behöver jag osv | skylin3fr3ak | UNIX for Dummies Frågor & Svar | 2 | 02-24-2008 11:17 |
| komplett noob | avdrummerboy | UNIX for Dummies Frågor & Svar | 3 | 12-04-2006 12:25 |
| Jag är en UNIX noob | Alt + F4 | UNIX for Dummies Frågor & Svar | 4 | 04-28-2006 10:01 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
||||
|
Hej alla,
Jag försöker att skriva ett skalskript som kommer att flytta filer från en katalog till en annan, det är bara det jag vill att se massor av olika källor katalog och flytta filer till massor av olika kataloger. Jag är helt ny för skalskript men inte UNIX (även om jag fortfarande klass mig som en nybörjare). Några råd skulle vara välkommen, eftersom jag är lördag titta på en ganska tom sida i VI och goggling gärna galen, men inte komma fram till mycket. |
|
||||
|
Du är ganska vag. Om du behöver flytta ett helt träd prova ungefär så här:
Kod:
cd /path/to/upper/level/of/source tar -cvf - $(find . -print -type f) | (cd ../destination ; tar -xvf -) |
|
||||
|
Ok, är ny på detta har jag dragit en pic för att hjälpa mig förklara ......
![]() ok förhoppningsvis kommer detta att hjälpa mig förklara vad jag försöker göra. Jag gjorde ls | wc-l på / användaren och som gav 392, vilket låter ungefär rätt (ge eller ta 15 slumpvis andra kataloger och filer som finns där). Så jag försöker flytta filer från en privat mapp (under xxxx.old) till andra privata mapp, jag måste göra det någonstans i regionen på 350 gånger på olika mappar. Jag ber om ursäkt för min naff förklaring men förhoppningsvis min underbara bild ger dig en aning om vad jag är på cirka ![]() |
|
||||
|
Skål, ser ut precis vad jag är efter, men jag får ett syntaxfel på linje 5 (syntaxfel på rad 5: "mNewPriv \u003d $" oväntade), det enda jag har ändrat är att hitta (se nedan).
Jag har gått igenom jag ett par Temne att kontrollera vad jag har skrivit i VI matchar din lösning, och jag är säker på att jag har skrivit in den rätt. Kod:
for mNewDir in `find /user/ -type d -name 'accu*.old'`
do
mNewBase=`basename ${mNewDir}`
mNewPriv=${mNewDir}"/private/"
mOldPriv="/user/dotolds/"${mNewBase}".old/private/"
echo "Now copying from "${mOldPriv}" to "${mNewPriv}
#####cp ${mOldPriv} ${mNewPriv}
done
|
|
|||||
|
Sax,
"Hitta" är att loop genom alla de "accuNNN" abonnentförteckningar INTE "accu * gamla". Visa "mNewDir" direkt efter "göra" för att se vilket värde du får: Kod:
echo "mNewDir = <"${mNewDir}">"
|
|
||||
|
Jag tror att jag ser hur det fungerar i dag.
Jag har ändrat hitta tillbaka och ändrat manuset till ksh. Jag har också lagt till raden ovan. När jag kör det jag inte får något fel, men då jag inte får något annat? Jag lämnade kopia kommandot kommenterade ut och sprang, men jag har inte fått de resultat som jag trodde att jag åtminstone skulle se echo linjer ![]() |
| Sponsrade länkar | ||
|
|