[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: grep [kein OT]



On Thu, 19 Jan 2006 20:17:33 +0100
Richard Mittendorfer <delist@gmx.net> wrote:

> Vermutlich weil /dev/sda ein Blockdevice ist und kein File/printbarer
> String. Was bezweckst du damit? Hoffst du ein geloeschtes file zu
> finden? Hilft vielleicht lde; "man lde"?

     Hallo Rich,

scharf und richtig geschlossen. Das [OT] war vorschnell. Ich bin nämlich
dabei, aus dem Paket lde das Script "lde-grep-inode"
auseinanderzunehmen, weil das offensichtlich nicht tut und bisher hatte
ich den Fehler bei mir vermutet. Bei lde selbst blicke ich einigermaßen
voll durch.
  In dem Script gibt es den Zeilenanfang
grep -b ${GREP_OPT} | ...
wobei ${GREP_OPT} gleichbedeutend ist mit "Suchwort /dev/sdb6". Das habe
ich überprüft durch ein vorangestelltes
echo ${GREP_OPT}

grep scheint mit /dev/sdb6 umgehen zu können, weil erstens die korrekte
Ausgabe kommt, daß das Suchwort existiert und zweitens meine Vermutung
dahingeht, daß das Script irgendwann mal getan haben muß bei
Blockdevices -- und ohne weitere Testerei einfach in lde.deb geblieben
ist.

     Gruß,  Gerhard


Das Script ist kurz genug, um es hier mitzuliefern. Die unten
kommentierte Sache mit awk scheint zu funktionieren. Daß so was auf
(dazu noch negativen) Verdacht drinbleibt, ist m. E. ein dicker Hund.

#!/bin/sh
#
# This will grep a partition for a string, then pass the output to lde
# to hopefully produce and intact inode which can be used to recover 
# the file.
#
# USAGE:  grep-inode [grep options] search_string device
#
# Might want to specify --all if the data was really important, but 
# if you've caught it early, it won't be necessary.
LDE_OPT=
GREP_OPT=$*
while [ "$*" != "" ] ; do
        DEVICE=$*
        shift 1
done
# If you don't have awk, remove it from the command pipeline below.
# I don't think it was doing what I wanted it to anyways.
grep -b ${GREP_OPT} | awk '{FS = ":" } ; { print $1 }' | lde ${LDE_OPT}
--grep ${DEVICE}



Reply to: