Câu hỏi này là phần tiếp theo của câu hỏi trước đây của tôi, Tạo nhiều thư mục bằng cách sử dụngmkdir
.
Tôi đang sử dụng bash
vỏ. Tôi đã tạo năm mươi thư mục, mỗi thư mục bắt đầu bằng tiền tố "s", sử dụng lệnh:
mkdir $(printf "s%02i " $(seq 1 50))
mà đệm đến chữ số thứ hai với số không. Đó là, các thư mục mà tôi có được có dạng s01
, s02
, ..., s49
, s50
.
Bây giờ tôi muốn sử dụng cp
để sao chép một tệp duy nhất (ví dụ test.txt
:) vào mỗi năm mươi thư mục. Có thể làm điều này theo cách tương tự như trên? Ví dụ, sẽ làm việc sau đây? Tôi còn khá mới đối với Unix / Linux, vì vậy tôi không thực sự muốn thử điều này cho đến khi ai đó làm ơn cho tôi một dấu hiệu cho thấy nó an toàn.
cp test.txt $ (printf "s% 02i.txt" $ (seq 1 50))
Tuy nhiên, nhìn vào man
trang cp
, có vẻ như không cp
hỗ trợ nhiều điểm đến như thế này, tuy nhiên:
NAME
cp - copy files and directories
SYNOPSIS
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
DESCRIPTION
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options
too.
parallel -j1
, nếu không sẽ có một công việc cho mỗi lõi và trên máy đa lõi, các công việc sẽ cạnh tranh cho IO.