2013-06-27 15 views
16

Yêu cầu của tôi là đính kèm tất cả các tệp .csv vào một thư mục và gửi chúng trong một thư.lệnh mutt với nhiều phần đính kèm trong thư đơn unix

Dưới đây là những gì đã cố gắng,

mutt -s "subject" -a *.csv -- [email protected] < subject.txt 

Lệnh trên không hoạt động (Nó không nhận ra nhiều file) và ném lỗi

Error sending message, child exited 67 (User unknown.). 
Could not send the message. 

Sau đó, tôi đã cố gắng sử dụng nhiều -a tùy chọn như sau ,

mutt -s "subject" -a aaa.csv -a bbb.csv -- [email protected] < subject.txt 

Điều này hoạt động như mong đợi. Nhưng điều này không khả thi đối với 100 tệp chẳng hạn. Tôi có thể sử dụng nó với mặt nạ tập tin (giống như * .csv để lấy tất cả các tệp csv). Có cách nào chúng ta có thể sử dụng như * .csv trong lệnh duy nhất không?

Cảm ơn

+1

Phiên bản nào của mutt bạn đang sử dụng? Một lệnh như nỗ lực đầu tiên của bạn làm việc cho tôi với bản sao của tôi được biên dịch từ một phiên bản gần đây của kho lưu trữ thủy ngân, nhưng hỗ trợ cho điều đó bắt đầu với bản phát hành 1.5.15. – qqx

+0

@qqx Oh phải không? Thật tuyệt vời. Đang sử dụng Mutt 1.4.1 .. – Mari

Trả lời

21

Mutt không hỗ trợ cú pháp như vậy, nhưng điều đó không có nghĩa là không thể. Bạn chỉ cần xây dựng lệnh mutt.

mutt -s "subject" $(printf -- '-a %q ' *.csv) ... 

Các lệnh trong $(...) sản xuất cái gì đó như thế này:

-a aaa.csv -a bbb.csv -a ... 
+1

cảm ơn rất nhiều. "printf - '-a% q' * .csv" yêu thích điều này. – Mari

0

Tôi nhận được dấu chéo ngược (\) Ngoài ra

Daily_Batch_Status{20131003}.PDF 
Daily_System_Monitoring{20131003}.PDF 

printf -- '-a %q ' *.PDF 
-a Daily_Batch_Status \ {20131003 \ }.PDF -a Daily_System_Monitoring \ {20131003 \ }.PDF 
Các vấn đề liên quan