Re: [Forum] Spørgsmål

From: Kasper Dupont <kasperd@daimi.au.dk>
Date: Sun Nov 06 2005 - 16:42:26 CET

On 06/11/05 16.22, Dieter Britz wrote:
> I et andet system jeg har arbejdet under, kunne jeg kopiere indholdet af et
> helt directory til et andet med en kommando der under Linux ville svare til
> noget i retningen af
>
> cp dir1/* dir2/*

Den kommando giver ikke så meget mening. Hvad den faktisk betyder
(under antagelse af, at den sidste indgang i dir2 er et directory)
er følgende: alt i dir1 hvis ikke starter med punktum og tilsvarende
fra dir2 på nær det sidste subdirectory kopieres ned i det sidste
subdirectory i dir2.

cp dir1/* dir2

ville give mere mening. Den kopierer alt fra dir1, som ikke starter
med punktum ind i dir2 (som skal eksistere på forhånd og være et
directory). Hvis du også vil kopiere indgange startende med punktum
bliver det lidt mere compliceret. Men måske vil cp -a dir1/. dir2
gøre som ønsket.

>
> Men det går jo ikke med Linux. Det jeg nu gør, når jeg har brug for det, er
> ret besværligt: Jeg indtaster
>
> ls dir1 > kopi
>
> og så emacs'er jeg filen kopi så at hver linie får "cp dir1/" i starten,
> og " dir2/." til slut. Når der er mange filer, er det en del arbejde. Til
> sidst
>
> chmod +x kopi
>
> og udfør det.

Editeringen kan udføres med sed. Og i stedet for at gemme det i en
fil kan man pipe resultatet direkte ind i sh. Så får man:

ls dir1 | sed -e 's|^|cp dir1/|;s|$| dir2|' | sh

Men det kopierer ikke indgange startende med punktum, og desuden
har den problemer med de fleste specialtegn.

PS: Dit spørgsmål har ikke ret meget at gøre med den mail du
    svarede på :-)

-- 
Kasper Dupont
Received on Sun, 6 Nov 2005 16:42:26 +0100

This archive was generated by hypermail 2.1.8 : Mon Nov 07 2005 - 05:00:00 CET