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文件到文件尾
ershouneiku 于 2010-02-02 16:45:31发表:
没学会呀
熙。 于 2010-02-02 16:13:40发表:
谢谢
kalxd 于 2009-08-19 09:56:26发表:
为头像和姿势而来。
genlmao 于 2009-08-19 08:41:22发表:
保存了。
jagub 于 2009-08-19 07:59:02发表:
试试看。
不过,总是觉得二进制文件当作文本来使会有问题
balini 于 2009-08-19 01:19:52发表:
(5ty(
kaduo521 于 2009-07-28 13:23:25发表:
{:3_108:}
太平桥 于 2009-07-28 12:39:39发表:
我是进来看头像的。