2013-06-20 18 views
5

Her satırın tek bir sözcük kodlu base64 olan bir metin dosyası var. Şimdi onu çözmek istiyorum. Base64 komut satırını kullanmaya çalışıyorum ama tüm kelimeleri tek bir satırda alıyorum, her satırda bir tane istiyorum.Bir dosyanın her satırını bir komutla boruya

Örneğin benim dosyasıdır:

Y2F0Cg== 
ZG9nCg== 
aG91c2UK 

Ben sonuç olarak istiyorum:

dog 
cat 
house 

Ama alıyorum: Ben Xargs yardımcı olabileceğini düşünüyorum

dogcathouse 

ama Anlamıyorum.

+0

Sorunun başlığını değiştirmek isteyebilirsiniz. – l0b0

+0

@ l0b0: Sanmıyorum. Çünkü OP, döngünün gerekli olduğunu düşündü. Ancak, daha iyi bir çözüm mevcuttu. – anishsane

cevap

9

Kullanım base64 --decode:

$ while read line; do echo $line | base64 --decode; done < file 
cat 
dog 
house 

Not: Ben l0b0 en bir sorunu tamamen çözmüş olduğunu düşündüğüm için bu cevabı silindi. Soruyu soran kişinin sorunları olduğunu gördüğümde, bu çözümün işe yarayıp yaramadığını görmek için gönderiyi geri aldım.

+2

Teşekkürler! Sorunumu çözdüm – tpcordeiro

3

Bu base64 8.13 benim için çalışıyor:

base64 --decode test.txt 

dosyayı bölmek gerek yok. Hangi sürümü kullanıyorsunuz?

+0

İyi biri, dosyada dolaşmanın gerekli olduğunu düşündüm. – fedorqui

+2

Bunu kullandım, ama işe yaramadı. Sanırım dosya tamamen base64 kodlu değildi. Aslında, her bir kelime ayrı olarak kodlanmış ve daha sonra dosya halinde bir araya getirilmiştir. – tpcordeiro

0

Sen (her satırı okumak için gerek yoktur) bunun için Python kullanabilirsiniz: bir dosya içinde döngü hakkında aslında olmadığından

python -m base64 -d foo.txt 
İlgili konular