Linux下用tail命令巧建自解压tar文件


Tail命令参数中有一个参数-n, --lines=N,可以直接输出一个文件中的最后N行。

利用此参数,结合tar命令可以在linux下创建类似windows下winrar的自解压了。

# !/bin/sh

[ $# != "1" ] && echo "Usage: {GetProperty(Content)} tarfile" && exit 0

DESTFILE="{GetProperty(Content)}.sh"

echo "# !/bin/sh" > $DESTFILE

echo "LINES=\`wc -l \{GetProperty(Content)} | awk '{ print \{GetProperty(Content)} }'\`" >> $DESTFILE # 计算目标文件的行数

echo "LINES=\`expr \$LINES - 4\`" >> $DESTFILE # 计算需要输出的行,为总行数-4(4行执行脚本)

echo "tail -n \$LINES \{GetProperty(Content)} | tar -xv " >> $DESTFILE # 输出并释放(可以结合-z/-j释放压缩文件)

echo "exit 0" >> $DESTFILE

chmod +x $DESTFILE

cat {GetProperty(Content)} >> $DESTFILE #添加tar文件到文件尾

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3