【发布时间】:2014-03-14 22:41:36
【问题描述】:
在我的脚本中,我收到一个 .tgz 文件作为参数 $1,我必须在临时目录中过滤其元素的大小,创建一个新文件并重写原始文件。
如果 $1 是 "~/Directory/File.tgz",我需要知道 hot 才能到达 "~ /Directory" 这样我就可以使用它了。
这是我的代码:
dtemp=`mktemp -d ./tmpdirXXX`
cp $1 $dtemp #Copy
cd $dtemp
comprimido=`find ./ -name "*.tgz"`
tar xzvf $comprimido
rm $comprimido
for archivo in *
do
Tarchivo=`du -b "$archivo" | cut -f1`
if test 70192 -lt $Tarchivo
then
echo "$archivo es mayor de 8KB"
rm -r $archivo
fi
done
tar czvf $1 $dtemp
rm -r $dtemp
最后两行不行,表示文件或目录不存在。
感谢您的帮助!
【问题讨论】:
-
dirname "$1"会给你目录名称。 -
分配给一个变量,比如
dir=$(dirname "$1")
标签: linux bash shell parameters directory