0

抽出してプレーンテキストに変換したいプレーンテキストヘッダーが含まれているように見えるファイルがあります。

HEXeditを使用すると、これが私が見ているものであり、ファイルにあります。

3a40 - 31 65 33 38 00 00 00 00 00 00 00 00 00 00 00 00 - 1e38............
3a50 - 00 00 00 00 00 00 00 00 00 00 0a 00 74 00 65 00 - ............t.e.
3a60 - 78 00 74 00 2f 00 61 00 73 00 63 00 69 00 69 00 - x.t./.a.s.c.i.i.
3a70 - 00 00 18 00 61 00 66 00 66 00 79 00 6d 00 65 00 - ....a.f.f.y.m.e
3a80 - 74 00 72 00 69 00 78 00 2d 00 61 00 72 00 72 00 - t.r.i.x.-.a.r.r
3a90 - 61 00 79 00 2d 00 62 00 61 00 72 00 63 00 6f 00 - a.y.-.b.a.r.c.o.
3aa0 - 64 00 65 00 00 00 64 00 40 00 35 00 32 00 30 00 - d.e...d.@.5.2.0.
3ab0 - 38 00 32 00 36 00 30 00 30 00 39 00 31 00 30 00 - 8.2.6.0.0.9.1.0.
3ac0 - 37 00 30 00 36 00 31 00 31 00 31 00 38 00 31 00 - 7.0.6.1.1.1.8.1.
3ad0 - 31 00 34 00 31 00 32 00 31 00 33 00 34 00 35 00 - 1.4.1.2.1.3.4.5.
3ae0 - 35 00 30 00 39 00 38 00 39 00 00 00 00 00 00 00 - 5.0.9.8.9.......
3af0 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................
3b00 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 - ................

これが私が取得したい出力です:

text/ascii  affymetrix-array-barcode d@52082600910706111811412134550989
4

3 に答える 3

1

iconvコマンドで試してください。このようなものが機能するはずです:

tail -c +6 input.txt | iconv -f UTF16 -t ASCII >output.txt

次に、ヌルバイトで分割します。

于 2011-05-10T14:37:19.577 に答える
1

確かに、私は賢明ではありませんが、すべてのファイルが投稿したファイルと非常によく似ている場合は、これでうまくいきます。

use strict;
open FILE, 'file.dat';
binmode FILE;
my ($chunk, $buf, $n);
seek FILE, 28, 0;
while (($n=read FILE, $chunk, 16)) { $buf .= $chunk; }
my @s=split(/\0\0/, $buf, 4);
print "$s[0] $s[1] $s[2]\n";
close (FILE);
于 2011-05-10T14:44:51.903 に答える
0

perlソリューションは興味深いかもしれませんが、unixstringsコマンドはファイルのプレーンテキスト部分を提供しませんか?

于 2011-05-10T14:04:45.747 に答える