並行 uuencode/uudecode 功能的現代 Linux 指令

並行 uuencode/uudecode 功能的現代 Linux 指令

我需要將二進位檔案轉換為文字格式。幾年前,我使用 uuencode/uudecode,這很簡單:

uuencode file.xls > file.txt
# Delete file.xls
# Do whatever with file.txt
# Now I need file.xls back
uudecode file.txt > file.xls

但uuencode/uudecode 不在我的系統上,而且當我環顧四周時,yum/rpm 進程很醜陋——這給了我一個線索,也許沒有人再使用它,而是有更現代的東西可以做到這一點。

我查看了 xxd 和 hexdump 但無法讓他們這樣做。可能只是愚蠢的用戶問題。

我可以在 Linux 上使用什麼來做到這一點?希望它是本機安裝中的東西,這樣我就不需要 yum/rpm 它(如果可能的話)。

只是為了您自己的理解,我現在特別想做的是對 ​​.xls 文件進行源代碼控制,但公司工具不允許 *.xls 輸入。是我的程式碼的配置表,所以它是邏輯上就像原始程式碼一樣,但企業 SVN 觸發器是物理的 — 如果它是 *.xls,則會被拒絕,因此我將對它進行編碼並對 *.txt 檔案進行原始程式碼控制。

謝謝!

答案1

知道了:

xxd -p excel.xlsx > excel.xxdp
xxd -p -r excel.xxdp > recover.xlsx
diff excel.xlsx recover.xlsx

答案2

答案3

有一個 python 程式可以用於此目的。

$ python hexdump.py abc.tar  > abc.ascii

$ python hexdump.py -r abc.ascii > def.tar

$ md5sum abc.tar def.tar abc.ascii
e4733a492d5ae78d9e163a9ec808b6ae  abc.tar
e4733a492d5ae78d9e163a9ec808b6ae  def.tar
b56a0ed4d794c0cf6084ddb9e7c862f8  abc.ascii

$ ls -pla abc*
-rw-r--r--. 1 60001 60001 61514 Mar 13 16:08 abc.ascii
-rw-r--r--. 1 60001 60001 12775 Mar 13 15:33 abc.tar

相關內容