2012-03-28 92 views
43

Tôi muốn sao chép nhiều tệp từ một thư mục cụ thể khi tôi ở trong một thư mục khác. Để làm rõ tôi muốn làm những điều sau đây, cùng một lúc (một lệnh):Làm cách nào để sao chép nhiều tệp từ một thư mục khác bằng cp?

cp ../dir5/dir4/dir3/dir2/file1 . 
cp ../dir5/dir4/dir3/dir2/file2 . 
cp ../dir5/dir4/dir3/dir2/file3 . 
cp ../dir5/dir4/dir3/dir2/file4 . 

tôi không thể sử dụng cp ../dir5/dir4/dir3/dir2/* . bởi vì trong dir2n file (n>4)

Bằng cách này, tôi đang sử dụng bash .

Cảm ơn.

+1

cp -t Danh mục nguồn là một tùy chọn Điều này có thể được sử dụng để sao chép tất cả/tệp được chọn từ một thư mục sang một thư mục khác .... – Xander

Trả lời

72
cp ../dir5/dir4/dir3/dir2/file[1234] . 

hoặc (trong Bash)

cp ../dir5/dir4/dir3/dir2/file{1..4} . 

Nếu tên tập tin là không tiếp giáp, bạn có thể sử dụng

cp ../dir5/dir4/dir3/dir2/{march,april,may} . 
+0

thanks thực sự trong trường hợp thực sự tên của tệp hoàn toàn khác nhau. 'cp ../dir5/dir4/dir3/dir2/[march april có thể]. ' sẽ không hoạt động – ziulfer

+1

Tại sao bạn không cho chúng tôi biết trường hợp thực tế? – Philipp

+0

Tôi đã chỉnh sửa bình luận trước đó của mình – ziulfer

3

Hãy thử điều này một:

cp ../dir5/dir4/dir3/dir2/file{1..4} 
+0

Chỉ hoạt động trong bash. OP đã không chỉ định vỏ nào anh ta đang sử dụng. – Graham

+0

Tôi đang sử dụng bash – ziulfer

5

Nếu tất cả các tệp bạn muốn sao chép đều có dạng là file{number}{othertext}, bạn có thể sử dụng một cái gì đó như:

cp ../dir5/dir4/dir3/dir2/file[0-9]* . 

Lưu ý rằng điều này sẽ sao chép file5, nhưng nó cũng sẽ sao chép file0abc.

Nếu bạn muốn sao chép CHỈ bốn file (và không phải là {othertext} những người thân), bạn có thể sử dụng:

cp ../dir5/dir4/dir3/dir2/file[1-4] . 

Lưu ý rằng trong khi điều này trông như một phần của một biểu thức chính quy, nó không phải là.

+0

cảm ơn thực sự trong trường hợp thực sự tên của các tệp hoàn toàn khác nhau. 'cp ../dir5/dir4/dir3/dir2/[march april có thể] .' sẽ không hoạt động – ziulfer

+0

Nhưng đó không phải là câu hỏi của bạn. – ghoti

+0

Cũng muốn đề cập đến 'cp ../dir5/dir4/dir3/dir2/F* .' hoạt động. Điều này là dành cho trường hợp chỉ có chữ cái bắt đầu trong tên tập tin là như nhau. Và chỉ những tệp bắt đầu bằng 'F' mới được sao chép – smac89

Các vấn đề liên quan