/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
bash shell script - simpelt spm.
Fra : Martin Jørgensen


Dato : 23-03-06 18:13

Hej,

Jeg er aldrig blevet særlig god til det med bash scripts... Men tag
f.eks. følgende kommando (øverste linje indtastet, de 3 efterfølgende
linjer er output):

cvs -q update bachelor2006
? bachelor2006/report/prv_report.log
? bachelor2006/report/report.prv
C bachelor2006/report/report.log

Jeg mener at ?-tegnet betyder at cvs ikke kender filen og C betyder SVJH
at der er konflikt. Listen kunne være meget længere, så derfor vil jeg
gerne slette de filer der enten starter med et ?-tegn eller et C-tegn
(automatisk), dvs. med et script - kan sikkert stå på én linje...

Dvs. kolonne nr.2 skal bruges som input til rm - jeg ved ikke helt om
xargs er løsningen....

En pipe-ting på en eller anden måde, sikkert...?


Best regards / Med venlig hilsen
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

 
 
Kent Friis (23-03-2006)
Kommentar
Fra : Kent Friis


Dato : 23-03-06 18:27

Den Thu, 23 Mar 2006 18:13:01 +0100 skrev Martin Jørgensen:
> Hej,
>
> Jeg er aldrig blevet særlig god til det med bash scripts... Men tag
> f.eks. følgende kommando (øverste linje indtastet, de 3 efterfølgende
> linjer er output):
>
> cvs -q update bachelor2006
> ? bachelor2006/report/prv_report.log
> ? bachelor2006/report/report.prv
> C bachelor2006/report/report.log
>
> Jeg mener at ?-tegnet betyder at cvs ikke kender filen og C betyder SVJH
> at der er konflikt. Listen kunne være meget længere, så derfor vil jeg
> gerne slette de filer der enten starter med et ?-tegn eller et C-tegn
> (automatisk), dvs. med et script - kan sikkert stå på én linje...
>
> Dvs. kolonne nr.2 skal bruges som input til rm - jeg ved ikke helt om
> xargs er løsningen....
>
> En pipe-ting på en eller anden måde, sikkert...?

| grep "^[?C] " | cut -c2- | xargs rm

Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.

Martin Jørgensen (23-03-2006)
Kommentar
Fra : Martin Jørgensen


Dato : 23-03-06 20:51

Kent Friis wrote:
-snip-

> | grep "^[?C] " | cut -c2- | xargs rm

Fantastisk... Og lærerigt


Best regards / Med venlig hilsen
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Jacob Bunk Nielsen (23-03-2006)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 23-03-06 18:55

Martin Jørgensen <unoder.spam@spam.jay.net> writes:

> cvs -q update bachelor2006
> ? bachelor2006/report/prv_report.log
> ? bachelor2006/report/report.prv
> C bachelor2006/report/report.log
>
> Jeg mener at ?-tegnet betyder at cvs ikke kender filen og C betyder SVJH
> at der er konflikt. Listen kunne være meget længere, så derfor vil jeg
> gerne slette de filer der enten starter med et ?-tegn eller et C-tegn
> (automatisk), dvs. med et script - kan sikkert stå på én linje...

Var det ikke en bedre idé at lave en .cvsignore?

--
Jacob - www.bunk.cc
Success is a journey, not a destination.

Martin Jørgensen (23-03-2006)
Kommentar
Fra : Martin Jørgensen


Dato : 23-03-06 20:53

Jacob Bunk Nielsen wrote:
> Martin Jørgensen <unoder.spam@spam.jay.net> writes:
>
>
>>cvs -q update bachelor2006
>>? bachelor2006/report/prv_report.log
>>? bachelor2006/report/report.prv
>>C bachelor2006/report/report.log
>>
>>Jeg mener at ?-tegnet betyder at cvs ikke kender filen og C betyder SVJH
>>at der er konflikt. Listen kunne være meget længere, så derfor vil jeg
>>gerne slette de filer der enten starter med et ?-tegn eller et C-tegn
>>(automatisk), dvs. med et script - kan sikkert stå på én linje...
>
>
> Var det ikke en bedre idé at lave en .cvsignore?

Jeg ved ikke hvordan man gør det

..cvsignore ligger den lokalt på min egen computer eller ligger det på
den computer hvor repositoriet ligger?

Jeg har brugt tortoisecvs et stykke tid, men man bliver jo ikke nogen
haj af at bruge den, så jeg forsøger også at lære lidt
kommando-linje-ting indimellem...


Best regards / Med venlig hilsen
Martin Jørgensen

--
---------------------------------------------------------------------------
Home of Martin Jørgensen - http://www.martinjoergensen.dk

Jacob Bunk Nielsen (23-03-2006)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 23-03-06 22:38

Martin Jørgensen <unoder.spam@spam.jay.net> writes:
> Jacob Bunk Nielsen wrote:
>> Martin Jørgensen <unoder.spam@spam.jay.net> writes:
>>
>>>cvs -q update bachelor2006
>>>? bachelor2006/report/prv_report.log
>>>? bachelor2006/report/report.prv
>>>C bachelor2006/report/report.log
>>>
>>> Jeg mener at ?-tegnet betyder at cvs ikke kender filen og C betyder
>>> SVJH at der er konflikt. Listen kunne være meget længere, så derfor
>>> vil jeg gerne slette de filer der enten starter med et ?-tegn eller
>>> et C-tegn (automatisk), dvs. med et script - kan sikkert stå på én
>>> linje...
>> Var det ikke en bedre idé at lave en .cvsignore?
>
> Jeg ved ikke hvordan man gør det

Man laver en fil, som hedder .cvsignore, og indeholder en liste over
filer man ikke gider at have cvs til at beskæftige sig med. Når man,
som du, laver LaTeX-projekter kan det fx være filer som *.toc, *.lof
osv.

> .cvsignore ligger den lokalt på min egen computer eller ligger det på
> den computer hvor repositoriet ligger?

Det er praktisk at putte den i sit repository så den kommer med, hvis
man checker projektet ud et andet sted.

> Jeg har brugt tortoisecvs et stykke tid, men man bliver jo ikke nogen
> haj af at bruge den, så jeg forsøger også at lære lidt
> kommando-linje-ting indimellem...

Jeg kender desværre(?) ikke tortoisecvs.

--
Jacob - www.bunk.cc
What's so funny?

Thorbjørn Ravn Ander~ (24-03-2006)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 24-03-06 11:38

Martin Jørgensen <unoder.spam@spam.jay.net> writes:

> Dvs. kolonne nr.2 skal bruges som input til rm - jeg ved ikke helt om
> xargs er løsningen....

Jeg plejer at bede cvs ignorere den slags filer.
--
Thorbjørn Ravn Andersen


Jacob Bunk Nielsen (24-03-2006)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 24-03-06 14:57

Martin Jørgensen <unoder.spam@spam.jay.net> writes:

> Det skal du ikke være ked af... Er nok bedre at kunne bruge cvs fra
> kommando-linjen men drag-and-drop er da meget rart. SVJH bruger du
> vist også sjældent windows (jeg programmerer lidt i windows men
> skriver rapporten med texlive på mac os x)?

Du har ret - jeg bruger ikke Windows ret tit, og højst til noget helt
standard kontor-halløj, aldrig til noget så avanceret som CVS.

> Nå, men ser følgende korrekt ud?
> - - - - - - - - - - - - - - -
> Apple/Desktop mac$ cat bachelor2006/report/.cvsignore
> *.toc *.lof *.log *.prv

Jeg plejer (eller, rettere plejede - det er flere måneder siden jeg
sidst har lavet et LaTeX-dokument) godt nok at skrive dem på hver sin
linje som:

*.toc
*.aux
*.log
....

> Grunden til at den ikke ignorerer log-filen er?

Prøv lige at skrive den på en linje for sig selv.

--
Jacob

Adam Sjøgren (25-03-2006)
Kommentar
Fra : Adam Sjøgren


Dato : 25-03-06 01:03

On Fri, 24 Mar 2006 23:27:48 +0100, Martin wrote:

> Apple/Desktop mac$ cat bachelor2006/report/.cvsignore
> *.toc
> *.lof
> *.log
> *.prv

> Apple/Desktop mac$ cvs -q update bachelor2006/
> ? bachelor2006/report/.cvsignore
> C bachelor2006/report/report.log

Mon ikke .cvsignore får cvs til at ignorere filer der *ikke* allerede
er lagt i cvs?

Hvis du fjerner report.log fra cvs, virker det så?


Mvh.

--
"Halleluja og hurlumhej" Adam Sjøgren
asjo@koldfront.dk

Adam Sjøgren (25-03-2006)
Kommentar
Fra : Adam Sjøgren


Dato : 25-03-06 16:04

On Sat, 25 Mar 2006 14:19:08 +0100, Martin wrote:

>> Hvis du fjerner report.log fra cvs, virker det så?

> Godt tænkt... Så bliver jeg også nødt til at køre latex igen for at
> teste det... hmmm. Mærkeligt...

> Apple/Desktop mac$ cvs -q update bachelor2006/
> ? bachelor2006/report/.cvsignore
> M bachelor2006/report/report.log
> M bachelor2006/report/report.pdf

> ls -ltr inde i biblioteket:
> -rw-r--r-- 1 mac mac 874 Mar 25 14:05 report.toc
> -rw-r--r-- 1 mac mac 518 Mar 25 14:05 report.out
> -rw-r--r-- 1 mac mac 73 Mar 25 14:05 report.lof
> -rw-r--r-- 1 mac mac 1300 Mar 25 14:05 report.aux
> -rw-r--r-- 1 mac mac 399129 Mar 25 14:05 report.pdf
> -rw-r--r-- 1 mac mac 28542 Mar 25 14:05 report.log

> Så dvs. den ignorerer altså .toc, .lof og muligvis .prv (er det emacs
> der laver .prv-biblioteket eller hvor kommer .prv fra?), men *ikke*
> .log.

Ja, for du har ikke tidligere lagt .toc et al i cvs, men du HAR lagt
..log i cvs.

Prøv at slette report.log, køre cvs remove report.log, og kør så en
cvs update - hjælper det?

> Dvs. der må være noget der "overrider" at .log skal ignoreres et
> sted... Hvor mon det er?

Jeg tror det er en fejl 40, .cvsignore får kun cvs til at ignorere
filer du ikke *allerede har* lagt i cvs (det er ihvertfald den
opførsel jeg ville forvente).


Mvh.

--
"Halleluja og hurlumhej" Adam Sjøgren
asjo@koldfront.dk

Jacob Bunk Nielsen (25-03-2006)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 25-03-06 18:14

Martin Jørgensen <unoder.spam@spam.jay.net> writes:

> (er det emacs der laver .prv-biblioteket eller hvor kommer .prv fra?)

Ja, det er previewlatex der laver det.

> Dvs. der må være noget der "overrider" at .log skal ignoreres et sted...
> Hvor mon det er?

Som Adam skriver skal du fjerne din logfil fra cvs med 'cvs remove
report.log'.

--
Jacob - www.bunk.cc
Whoever would lie usefully should lie seldom.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste