次の find コマンドは、複数のファイルを生成してすべて送信します。
find /home/cde -ctime -1 -name "Sum*pdf*" -exec uuencode {} {} \; |mailx -s "subject" [email protected]
homecdeSum123.pdf
さて、のような添付ファイルを受け取りましたhomecdeSum324.pdf
。添付ファイルから正確なファイル名を取得する方法。
答え1
Sum123.pdf
私が正しく理解した場合は、添付homecdeSum123.pdf
ファイルのファイル名を 。
uuencode
2番目のパラメータのパス名を削除して別の呼び出し方法を使用する必要があると思います。
find /home/cde -ctime -1 -name "Sum*pdf*" | while read name; do uuencode "$name" "${name##*/}" | mailx -s "subject" [email protected]; done
これにより、ファイルごとに別々の電子メールが送信されます。この${name##*/}
部分は変数を取得し、$name
最後のスラッシュまでのすべての項目を削除し、結果を返します。
すべてのファイルを1つのメールで送信するには、mailx
最後にパイプの一部を挿入します。
find /home/cde -ctime -1 -name "Sum*pdf*" | while read name; do uuencode "$name" "${name##*/}"; done | mailx -s "subject" [email protected]
答え2
この単一のライナーをお試しください
find /home/cde -ctime -1 -name "Sum*pdf*" | uuencode files.txt | mailx -s "subject" [email protected]