cp und Pipes

opino

opino

Tripel-As
sorry wenn ich sowas grundlegendes jetzt frage, ich habe vorher das buch "Linux Grundlagen und Konzepte" konsultiet das ergab aber wie die suche im Netz nichts.

ich möchte alle Dateien die ls | grep "Cd 1" ausgibt mit cp in ein verzeichniss kopieren.

wo muss ich in der Befehlzeile das cp plazieren?
 
sollte das nicht
cp -v /quelle/*Cd 1* /ziel
oder (bin mir da gerade nicht soo sicher, einfach probieren^^, kannst ja nichts kaputt machen.
cp -v /quelle/"Cd 1" /ziel
//des erste ist richtig, siehe weiter unten ;)
tun?

denn umweg über ls und grep musst du hier aufjedenfall nicht gehen.
Das ist wie ausdrucken, gesuchtes wieder einscannen und wieder ausdrucken ;)
 
Zuletzt bearbeitet:
Mit cp wäre das arg umständlich, denn da müsstest Du vorher etwas speichern - leite die Ausgabe doch einfach mit > weiter.

Code:
ls | grep "Cd 1" > cd1.txt

...oder denke ich da gerade zu einfach?
 
Danke für die schnellen antworten, ich hab das problem nicht richtig formuliert.


ich möchte alle dateinen in deren name cd 1 enthalten ist in ein verzeichniss temp kopieren.

wie ich mir die dateinen filtere habe ich schon rausgefunden, ich weiss nur nicht wie ich cp sage was es machen soll.

cp -v /quelle/*Cd 1* /ziel funktioniert bei mir nicht, kann das daran liegen das ich eine bash in cygwin habe?
 
Zuletzt bearbeitet:
Danke für die schnellen antworten, ich hab das problem nicht richtig formuliert.


ich möchte alle dateinen in deren name cd 1 enthalten ist in ein verzeichniss temp kopieren.

wie ich mir die dateinen filtere habe ich schon rausgefunden, ich weiss nur nicht wie ich cp sage was es machen soll.

Genau das habe ich dir oben geschrieben.
Code:
[COLOR="Orange"]{-basti-|-trinity-} => [~][/COLOR]
[COLOR="Red"](01:04:02) mkdir quelle[/COLOR]
[COLOR="Orange"]{-basti-|-trinity-} => [~][/COLOR]
[COLOR="Red"](01:04:08) mkdir ziel[/COLOR]
[COLOR="Orange"]{-basti-|-trinity-} => [~][/COLOR]
[COLOR="Red"](01:04:12) cd quelle/[/COLOR]
[COLOR="Orange"]{-basti-|-trinity-} => [~/quelle][/COLOR]
[COLOR="Red"](01:04:18) touch dateifoobaa dateifoobee dateiblub dateiblub123[/COLOR]
[COLOR="Orange"]{-basti-|-trinity-} => [~/quelle][/COLOR]
[COLOR="Red"](01:04:45) cp -v *foo* ../ziel/[/COLOR]
`dateifoobaa' -> `../ziel/dateifoobaa'
`dateifoobee' -> `../ziel/dateifoobee'
[COLOR="Orange"]{-basti-|-trinity-} => [~/quelle][/COLOR]
[COLOR="Red"](01:05:20) ls -l ../ziel/[/COLOR]
total 0
-rw-r--r-- 1 basti basti 0 2007-07-05 01:05 dateifoobaa
-rw-r--r-- 1 basti basti 0 2007-07-05 01:05 dateifoobee
[COLOR="Orange"]{-basti-|-trinity-} => [~/quelle][/COLOR]
(01:05:30)

...oder denke ich da gerade zu einfach?
Nein, aber in die falsche Richtung ;)
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

cp -v /quelle/*Cd 1* /ziel funktioniert bei mir nicht, kann das daran liegen das ich eine bash in cygwin habe?
Wäre erstens nett, wenn du einen neuen Beitrag schreibst, so kriegt man das mit und nicht einfach einen alten editierst.

Jetzt wäre es doch eigentlich ganz gut, zu wissen, WAS genau du mit "funktioniert nicht" meinst. Perfekt wäre eine Fehlermeldung, wenn es eine gibt.
Das die Syntax richtig sein sollte, zeigt mein Beispiel.
 
Zuletzt bearbeitet:
Code:
cp -v /quelle/"*Cd 1*" /ziel

?

Ich formuliere es als Frage, nicht als Vorschlag. (Dann kann nix schiefgehen :) ).
 
Hallo, so sieht es bei mir aus.

Code:
bash.exe: warning: could not find /tmp, please create!
<Desktop/temp/*CD 1* /Dokumente\ und\ Einstellungen/henrik/Desktop/temp2/
cp: /Dokumente und Einstellungen/henrik/Desktop/temp/*CD: No such file or direct
ory
cp: 1*: No such file or directory
bash-2.02$

da hat er beim c&p vorne das cp komando weggeschnippelt.

ich werde das ganze morgen mal unter richtigen Linux probieren.
 
Zuletzt bearbeitet:
cp -v /quelle/*Cd 1* /ziel funktioniert bei mir nicht, kann das daran liegen das ich eine bash in cygwin habe?

Hm, du musst das Leerzeichen im Verzeichnisnamen maskieren, sprich:
Code:
cp -v /quelle/*Cd\ 1* /ziel
Alternativ müsste auch eine der Varianten gehen (wenn zwischen Cd und 1 genau ein (Leer)zeichen oder beliebig viele sind:
Code:
cp -v /quelle/*Cd?1* /ziel
cp -v /quelle/*Cd*1* /ziel
Zu cygwin selbst weiss ich aber nichts :brav:
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

Welches Linux/Unix für ehemaligen OSX Nutzer?

OpenCV Installieren

Junior Softwareentwickler Java (m/w) - Bereich Online-Storage

Zurück
Oben