2014-08-28 173 views
1

我有很長的文本文件,它看起來是這樣的:BASH - 轉換包含二進制數字文本文件轉換成二進制文件

00000000 
00001110 
00010001 
00010000 
00001110 
00000001 
00010001 
00001110 
...and so on... 

我想利用這個數據是ASCII表示並將它寫入一個二進制文件。也就是說,我不想將ASCII轉換爲二進制文件,而是將實際的1和0轉換爲二進制文件 這樣做的目的是讓我的EPROM程序員可以讀取文件。 我聽說ob和hexdump在這種情況下很有用,但我從來沒有真正理解它們是如何工作的。

如果它的任何幫助,我也有十六進制形式的數據:

00 0E 11 10 0E 01 11 0E 

我怎麼這樣使用shell腳本?

+0

我認爲你需要使用像Perl或PHP這樣的語言。我想不出一種在純bash中生成二進制數據的方法。 – Barmar 2014-08-28 23:41:49

回答

1

perl -ne 'print pack "B*", $_' input這樣的東西應該能讓你獲得大部分途徑。

+0

這是完美的!謝謝! cat file.text | tr -d「\ n」| perl -ne'打印包「B *」,$ _'> file.bin – DarkVio 2014-08-29 00:50:51

相關問題