[
https://issues.apache.org/jira/browse/TIKA-1541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14311339#comment-14311339
]
Luis Filipe Nassif commented on TIKA-1541:
------------------------------------------
Hi [~gostep],
I agree, the *min-len* parameter is essential for strings. It is not good the
no support for *-e* in Windows. And unix strings does not support UTF-8
encoding?
Actually, I haven't found a strings command that suited my needs in the past.
The specific implementation I talked about is able to extract strings in
different charsets from the same file and that is very important for a forensic
tool (I also work on this domain). I will submit a separate patch to TIKA-1483,
because the approach is totally different from the one used here.
And about the patch, I think the timeout control could be removed, I never saw
a file causing strings to hang. But if it will be keeped, the *extractOutput()*
should be called into the waitTask, because if it hangs the *waitTask.get()*
will never be called currently.
> StringsParser: a simple strings-based parser for Tika
> -----------------------------------------------------
>
> Key: TIKA-1541
> URL: https://issues.apache.org/jira/browse/TIKA-1541
> Project: Tika
> Issue Type: Improvement
> Components: parser
> Reporter: Giuseppe Totaro
> Assignee: Chris A. Mattmann
> Attachments: TIKA-1541.TotaroMattmann.020615.patch.txt,
> TIKA-1541.TotaroMattmann.020615.patch.txt,
> TIKA-1541.TotaroMattmannBurchNassif.020715.patch, TIKA-1541.patch,
> testOCTET_header.dbase3
>
>
> I thought to implement an extremely simple implementation of
> {{StringsParser}}, a parser based on the {{strings}} command (or
> {{strings}}-alternative command), instead of using the dummy {{EmptyParser}}
> for undetected files. It is a preliminary work (you can see a lot of todos).
> It is inspired by the work on {{TesseractOCRParser}}. You can find the patch
> in attachment.
> I created a GitHub
> [repository|https://github.com/giuseppetotaro/StringsParser] for sharing the
> code. As first test, you can clone the repo, build the code using the
> {{build.sh}} script, and then run the parser using the {{run.sh}} script on
> some [govdocs1|http://digitalcorpora.org/corpora/govdocs] files (grabbed from
> "016" subset) detected as {{application/octet-stream}}. The latter script
> launches a simple {{StringsTest}} class for testing.
> I hope you will find the {{StringsParser}} a good solution for extracting
> ASCII strings from undetected filetypes. As far as I understood, many
> "sophisticated" forensics tools work in a similar manner for indexing
> purposes. They use a sort of {{strings}} command against files that they are
> not able to detect.
> In addition to run {{strings}} on undetected files, the {{StringsParser}}
> launches the {{file}} command on undetected files and then writes the output
> in the {{strings:file_output}} property (I noticed that sometimes the
> {{file}} command is able to detect the media type for documents not detected
> by Tika).
> Finally, you can fine an old discussion about this topic
> [here|http://lucene.472066.n3.nabble.com/Default-MIME-Type-td645215.html].
> Thanks [~chrismattmann].
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)