Zsh: trả trước $ (<list.txt) lập luận với một thư mục


0

Tôi đang sử dụng cp $(<list.txt) new_folderđể sao chép danh sách các tệp (tên tệp trong list.txt) vào một thư mục mới. Như là các tập tin phải trong cùng một thư mục như list.txt.

Có cách nào dễ dàng để thực hiện công việc này nếu các tệp thực tế nằm trong một thư mục riêng biệt list.txtkhông? Có lẽ chuẩn bị trước mỗi tên tệp với một đường dẫn?

Câu trả lời:


1

$(<list.txt)đang sử dụng thay thế quy trình để bạn có thể ném bất kỳ lệnh nào bạn muốn vào giữa các dấu ngoặc để nhét nội dung list.txtvào nội dung trái tim của bạn.

Một cái gì đó như cp $(sed -e 's/^/path\/goes\/here\//' list.txt) new_foldernên làm các thủ thuật.


Cảm ơn! Cố gắng cp $(sed -e 's/^source_dir\//' list.txt) target_dirnhưng nhận được một lỗi "dòng mới không thoát trong mẫu thay thế". FYI - list.txtnằm trong thư mục mẹ của cả hai source_dirtarget_dir.
Meltemi

Nếu đây là một điều bạn sẽ làm, tôi chỉ cần di chuyển list.txt bên trong source_dir và thêm ../ vào phía trước mẫu thay thế. Nghe có vẻ dễ hơn so với chiến đấu sed. Tôi cho rằng bạn chưa có một dòng chữ mới trong mẫu thay thế cho sed?
Haegin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.