lsinitrd: add "catinitrd" functionality
authorHarald Hoyer <harald@redhat.com>
Fri, 17 Sep 2010 13:21:27 +0000 (15:21 +0200)
committerHarald Hoyer <harald@redhat.com>
Mon, 20 Sep 2010 12:53:45 +0000 (14:53 +0200)
lsinitrd <initramfs image> [<file to cat>]

lsinitrd

index de73831..7e9df9e 100755 (executable)
--- a/lsinitrd
+++ b/lsinitrd
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-[[ $# -eq 1 ]] || { echo "Usage: $(basename $0) <initramfs file>" ; exit 1 ; }
+[[ $# -eq 1 || $# -eq 2 ]] || { echo "Usage: $(basename $0) <initramfs file> [<filename>]" ; exit 1 ; }
 [[ -f $1 ]]    || { echo "$1 does not exist" ; exit 1 ; }
 
+if [[ $# -eq 2 ]]; then
+    zcat $1 | cpio --extract --verbose --quiet --to-stdout ${2#/} 2>/dev/null
+    exit $?
+fi
+
 echo "$1:"
 echo "========================================================================"
 zcat $1 | cpio --extract --verbose --quiet --to-stdout 'dracut-*' 2>/dev/null