About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / lguest / extract




Custom Search

Based on kernel version 2.6.39.1. Page generated on 2011-06-03 13:47 EST.

1	#! /bin/sh
2	
3	set -e
4	
5	PREFIX=$1
6	shift
7	
8	trap 'rm -r $TMPDIR' 0
9	TMPDIR=`mktemp -d`
10	
11	exec 3>/dev/null
12	for f; do
13	    while IFS="
14	" read -r LINE; do
15		case "$LINE" in
16		    *$PREFIX:[0-9]*:\**)
17			NUM=`echo "$LINE" | sed "s/.*$PREFIX:\([0-9]*\).*/\1/"`
18			if [ -f $TMPDIR/$NUM ]; then
19			    echo "$TMPDIR/$NUM already exits prior to $f"
20			    exit 1
21			fi
22			exec 3>>$TMPDIR/$NUM
23			echo $f | sed 's,\.\./,,g' > $TMPDIR/.$NUM
24			/bin/echo "$LINE" | sed -e "s/$PREFIX:[0-9]*//" -e "s/:\*/*/" >&3
25			;;
26		    *$PREFIX:[0-9]*)
27			NUM=`echo "$LINE" | sed "s/.*$PREFIX:\([0-9]*\).*/\1/"`
28			if [ -f $TMPDIR/$NUM ]; then
29			    echo "$TMPDIR/$NUM already exits prior to $f"
30			    exit 1
31			fi
32			exec 3>>$TMPDIR/$NUM
33			echo $f | sed 's,\.\./,,g' > $TMPDIR/.$NUM
34			/bin/echo "$LINE" | sed "s/$PREFIX:[0-9]*//" >&3
35			;;
36		    *:\**)
37			/bin/echo "$LINE" | sed -e "s/:\*/*/" -e "s,/\*\*/,," >&3
38			echo >&3
39			exec 3>/dev/null
40			;;
41		    *)
42			/bin/echo "$LINE" >&3
43			;;
44		esac
45	    done < $f
46	    echo >&3
47	    exec 3>/dev/null
48	done
49	
50	LASTFILE=""
51	for f in $TMPDIR/*; do
52	    if [ "$LASTFILE" != $(cat $TMPDIR/.$(basename $f) ) ]; then
53		LASTFILE=$(cat $TMPDIR/.$(basename $f) )
54		echo "[ $LASTFILE ]"
55	    fi
56	    cat $f
57	done
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.