Linux tail命令的巧妙应用
Tail命令参数中有一个参数-n, --lines=N,可以直接输出一个文件中的最后N行。
利用此参数,结合tar命令可以在linux下创建类似windows下winrar的自解压了。
复制代码
    
代码如下:
# !/bin/sh
    [ $# != "1" ] && echo "Usage: $0 tarfile" && exit 0
    DESTFILE="$1.sh"
    echo "# !/bin/sh" > $DESTFILE
    echo "LINES=/`wc -l /$0 | awk '{ print /$1 }'/`" >> $DESTFILE # 计算目标文件的行数
    echo "LINES=/`expr /$LINES - 4/`" >> $DESTFILE # 计算需要输出的行,为总行数-4(4行执行脚本)
    echo "tail -n /$LINES /$0 | tar -xv " >> $DESTFILE # 输出并释放(可以结合-z/-j释放压缩文件)
    echo "exit 0" >> $DESTFILE
    chmod +x $DESTFILE
    cat $1 >> $DESTFILE #添加tar文件到文件尾
 赞 (0)
                        
