我需要将纯文本文件中列出的文件(在单个tar文件中)压缩。
如果包含文件列表的文本文件为空,如何防止创建tar文件?
取决于方法的文件创建方式,您可以有0、1或更多行。如果全部清除为0,则您没有文件:
def get_query(self):
return self.session.query(self.model).filter(self.model.userid == current_user.id)
如果为1,则只能输入,也可以是一个文件。您可以通过以下方式进行检查:
l=$(cat filelist.txt|wc -l)
if [ "$l" -eq 0 ]
then echo "No files in the list";exit 1
fi
如果您希望将其制作成一行,可以执行以下操作:
l=$(cat filelist.txt|wc -l)
if [ "$l" -eq 1 ]
then if [ ! -e $(cat filelist.txt) ]
then echo "No files in the list";exit 1
fi
fi
或者如果您想抑制所有消息,则可能是这样的:
tar xvf tarfile.tar `cat filelist.txt`|| rm tarfile.tar
此命令将从tar xvf tarfile.tar `cat filelist.txt` >/dev/null 2>&1|| rm tarfile.tar
创建tar文件,如果出现错误,例如文件中的空列表(或磁盘空间不足),将删除tar文件。