2017-02-18 14 views
1

catでサンプルファイルを作成するにはxxdで行ごとにヘキサダンプ行を作成する方法は?

cat > /tmp/test.txt <<EOF 
> X1 
> X22 
> X333 
> X4444 
> EOF 

サンプルファイルの内容を確認します。

cat /tmp/test.txt 
X1 
X22 
X333 
X4444 

xxdを使用して六次元ダンプを作成する。

以下のような方法でXXDと線でhexdumpがラインを作る方法
xxd /tmp/test.txt 
0000000: 5831 0a58 3232 0a58 3333 330a 5834 3434 X1.X22.X333.X444 
0000010: 340a 

58 31 0a 
58 32 32 0a 
58 33 33 33 0a 
58 34 34 34 34 0a 

答えて

1

私はsed最善の解決策との組み合わせでhexdumpツールを発見したすべての後:

hexdump -v -e '/1 "%02x "' /tmp/test.txt | sed 's/0a /0a\n/g' 
+0

それは** xargsのある-I '{}' のbash -c 'XXD <<< "$ {1}"' - '{}'

+0

どういう意味ですか? – hek2mgl

+0

あなたの2番目の答えでは、** '**失われている、それは** "$ {1}" **、 "** {1}" **ではありません。 –

2
$ xxd -ps </tmp/test.txt|sed -e 's/\(..\)/\1 /g' -e 's/0a /0a\n/g' 
58 31 0a 
58 32 32 0a 
58 33 33 33 0a 
58 34 34 34 34 0a 
+0

この種の解決策を思いついた最初の人にプラス!受諾投票はあなたのものでなければなりません! – hek2mgl

+0

私は他の長いファイルでテストしましたが、長いファイルに対しては十分な堅牢性がありません。 –

+0

* long *の長さは?私はバイト単位のサイズ、行数を意味しますか? – hek2mgl

0

ダウンロードして/home/urls.csvとして保存してください。
hexdumpに対して-v -e '/ 1 "%02X"' /home/urls.csvをテストするには

sample file to test

| SEDの/ 0A/0A \ N/G '

enter image description here


xargsので試験するために-I '{}' のbash -c '< < < "$ {1}" xxdの' -
xargsのでテストするには、 '{}' < /home/urls.csv

enter image description here

-I ' "{1} $" < < < HD' -c '{}' のbash - '{}'

xxd -ps </home/urls.csv |sed -e 's/\(..\)/\1 /g' -e 's/0a /0a\n/g' 

でそれを試験するために< /home/urls.csv enter image description here

Ipor Sircerの答えは、長いファイルに対して十分な堅牢性がないことは明らかです。

enter image description here

関連する問題