防止在AIX Unix中创建空的Tar文件

问题描述 投票:0回答:1

我需要对纯文本文件中列出的文件(在单个tar文件中)进行tar处理。

如果包含文件列表的文本文件为空,如何防止创建tar文件?

unix aix
1个回答
0
投票

取决于方法,如何创建文件,您可以有0、1或更多行。如果全部清除为0,则您没有文件:

l=$(cat filelist.txt|wc -l)
if [ "$l" -eq 0 ]
then echo "No files in the list";exit 1
fi

如果为1,则只能输入,也可以只有一个文件。您可以通过以下方式进行检查:

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

此命令将从filelist.txt创建tar文件,如果出现错误,例如文件中的空列表(或磁盘空间不足),将删除tar文件。

© www.soinside.com 2019 - 2024. All rights reserved.