Linux 测试文件内容
我需要bash脚本的帮助 我有一个包含日志文件的文件夹(数量可能会有所不同) 我必须测试这些文件的内容,如果其中一个或多个文件有内容,我想通过邮件发送内容(我使用mailx),格式如下: “文件名”的内容是: ------内容--------- “文件名2”的内容是: ------内容--------- “filename3”中没有内容 使用bash做这件事有什么实际的方法吗 谢谢你的帮助Linux 测试文件内容,linux,bash,scripting,mailx,Linux,Bash,Scripting,Mailx,我需要bash脚本的帮助 我有一个包含日志文件的文件夹(数量可能会有所不同) 我必须测试这些文件的内容,如果其中一个或多个文件有内容,我想通过邮件发送内容(我使用mailx),格式如下: “文件名”的内容是: ------内容--------- “文件名2”的内容是: ------内容--------- “filename3”中没有内容 使用bash做这件事有什么实际的方法吗 谢谢你的帮助 shopt -s nullglob for i in *; do if [[ -s "$i" ]];
shopt -s nullglob
for i in *; do
if [[ -s "$i" ]]; then
echo "file $i exists and is not empty"
fi
done
请参阅:
manbash
此问题要求两件不同的事情:从bash发送电子邮件(请参阅),以及测试文件是否为空(请参阅)。我不知道把另外两个问题合并成一个问题是否是一个有效的问题,但即使这样,问题的标题也应该更新以反映这一点。对不起,我应该说。通过邮件发送我知道怎么做。我的问题是测试文件是否有内容,然后格式化此内容以便发送。更准确地说,通过此文件夹中的文件循环检查其中哪些文件有内容if[-s/etc/passwd]];然后echo“文件存在且不为空”;fi
请参见:帮助测试
是,但在本例中,您正在测试一个已知存在的文件。在我的情况下,我不知道有多少文件在这个文件夹在任何给定的时间,因为数字不断变化。有的出现,有的消失。所以我缺少循环部分。