![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Afsløring indgående filer uden travlt valgsteder | baldyeti | Shell Programmering og Scripting | 9 | 08-15-2008 12:06 PM |
| script til at finde det gennemsnitlige antal eller filer? | bbbngowc | Shell Programmering og Scripting | 2 | 03-27-2008 12:57 PM |
| køre et script fra indgående e-mail | jojo77 | UNIX for dummyer Spørgsmål & svar | 7 | 02-22-2008 01:48 PM |
| finde antallet af indkomne ansøgninger til en server | laddu | UNIX for dummyer Spørgsmål & svar | 1 | 03-10-2007 01:48 AM |
| awk script til at finde antallet af filer | uni_ajay_r | Shell Programmering og Scripting | 4 | 10-31-2006 06:58 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Script til antal indgående filer
Hey gutter, Jeg arbejder på en Cshell skrift, og jeg er fast på denne ene side. Jeg har brug for at være i stand til at kopiere i filer til mit bibliotek, men give dem forskellige navne, så de ikke overskriver hinanden. For eksempel allerede min mappe indeholder FILE.1 Jeg vil have min script til at navngive den næste fil kopieret over FILE.2 og den næste en FILE.3 og så videre. Det bør være i stand til at fortælle hvilke filer der er der, og opkaldt den nye den næsthøjeste værdi. Så jeg har FILE.1, FILE.2, og FILE.3 i mit bibliotek nu, hvis jeg kopiere i en anden fil, skal min script omdøbe det FILE.4 Dette script har kørt mig nødder hele dagen, jeg kan ikke finde det ud. Her er hvad jeg har hidtil. På forhånd tak. Nye kode vil blive værdsat, fordi jeg naturligvis ikke har nogen anelse om, hvad jeg gør i dette stykke. Code:
while (-d FILE.0)
cp -r FILE FILE.1
set ctr = 1
foreach f(*)
set var1 = 'file $f | awk '{printf "%s\n",$3}''
if ($var1 == 1) then
FILE = 'ls $f | cut -f1 -d "."'
1 = 'ls $f | awk -F "." '{printf "%s\n",$2}''
mv $f $FILE$ctr.$1
ctr = 'expr $ctr + 1'
endif
end
end
|
|
||||
|
Code:
#!/bin/sh
i=1
while(a=1)
do
if test -e "FILE."$i
then
let i+=1
else
break
fi
done
cp -f FILE FILE.$i
Senest redigeret af wabard; 03-19-2009 kl 08:53 PM.. Årsag: FAST cp Kommandolinjeargumentet til-f fra-r (jeg har skrevet den forkerte løsning, r og f er tæt på tastaturet .. lol) |
|
||||
|
Dummy variabel for at tvinge samtidig at løkken for evigt ... du forlader ud af uendelig løkke med "pause" erklæring. Bemærk: Jeg har lavet en fejl i "cp" kommandolinjeflaget i eksemplet ovenfor (korrigeret og noterede). |
|
||||
|
nedenfor kan hjælpe dig med nogle Code:
name=`for i in dir1/*
do
echo $i | sed 's/^\(.*\/\)\([^0-9]*\)\(.*\)/\2 \3/'
done | sort -n +1 | tail -1 | awk '{print $1""($2+1)}'`
cp file_to_be_copied dir1/$name
|
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|