Tail命令参数中有一个参数-n, --lines=N,可以直接输出一个文件中的最后N行。
利用此参数,结合tar命令可以在linux下创建类似windows下winrar的自解压了。
# !/bin/sh
[ $# != "1" ] &&echo "Usage: tarfile" &&exit 0
DESTFILE=".sh"
echo "# !/bin/sh" >$DESTFILE
echo "LINES=`wc -l | awk "{ print }"`" >>$DESTFILE # 计算目标文件的行数
echo "LINES=`expr $LINES - 4`" >>$DESTFILE # 计算需要输出的行,为总行数-4(4行执行脚本)
echo "tail -n $LINES | tar -xv ">>$DESTFILE # 输出并释放(可以结合-z/-j释放压缩文件)
echo "exit 0" >>$DESTFILE
chmod +x $DESTFILE
cat >>$DESTFILE #添加tar文件到文件尾
ZDNet 和 CNET 科技资讯网是CNET Networks公司注册服务商标。CNET 科技资讯网 标识是 CNET Networks公司注册服务商标。
用户评论