dd if=/dev/sda1 of=diskimage
텍스트 파일을 복구 해야하는 borked 파티션 (생각 ) 의 30GB 디스크 이미지가 있습니다. 데이터 조각 도구 foremost
는 잘 정의 된 헤더가있는 파일, 즉 일반 텍스트 파일이 아닌 파일에서만 작동하므로 좋은 친구가되었습니다 strings
.
strings diskimage > diskstrings.txt
실제로 쓸모없는 텍스트와 혼합 된 많은 문자열, 주로 쓸모없는 것들을 포함하는 3GB 텍스트 파일을 생성했습니다.
부스러기의 대부분은 실제로 길고 깨지지 않는 끈으로 묶인 경향이 있습니다. 내가 관심있는 것은 16kb보다 작다는 것이 보장되므로 파일을 줄 길이별로 필터링 할 것입니다. 내가 사용하는 파이썬 스크립트는 다음과 같습니다.
infile = open ("infile.txt" ,"r");
outfile = open ("outfile.txt","w");
for line in infile:
if len(line) < 16384:
outfile.write(line)
infile.close()
outfile.close()
이것은 작동하지만 나중에 참조 할 수 있습니다 : 줄 길이로 파일을 필터링하는 마법의 한 줄 주문 (think awk
, sed
)이 있습니까?