我有一个Bash shell脚本,可以在特定时间每天发送一封电子邮件。 代码如下:
first_dir=/test1 second_dir=/test2
email=me@me.com
allfiles=$(find /test1 /test2 -maxdepth 1 | sort) IFS=$'\n'
while true do sleep 24h
[ "$allfiles" != "" ] &&
find $allfiles -maxdepth 1 -printf '%Tc\t%s\t%p\n' |
mail -s "List Of All Files" "$email"
files="$allfiles"
done
此脚本在单列中提供输出。 但我希望输出分为两列。
答案 0 :(得分:4)
如果你想让它们像那样分开,不要把它们放在一起
first_dir=/test1
second_dir=/test2
while sleep 24h; do
first_files=$(find $first_dir -maxdepth 1 -printf '%Tc\t%s\t%p\n')
second_files=$(find $second_dir -maxdepth 1 -printf '%Tc\t%s\t%p\n')
paste <(sort -t $'\t' -k 3,3 <<< "$first_files") \
<(sort -t $'\t' -k 3,3 <<< "$second_files") |
mail -s "List Of All Files" "$email"
done