Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Jak zjistit formatu PDB souboru - informace ulozena v 1. radku  (Přečteno 2520 krát)

karlitos

  • Stálý člen
  • **
  • Příspěvků: 1057
  • Bioinformatics - solutions in-silico
    • homepage
Zdravim

Tady v tom threadu jsem resil - a stale resim - konverzi PDB souboru - to jsou Eknihy pro PALM. No a hlavni problem momentalne je to, ze nektere jsou ve znacne exotickych formatech a ja je budu muset nejak specialne prekonvertovat. Lepereceno by mi pomohlo kdybych mohl nejak zjistit ten format pro kazdy soubor, kterych je vice jak 2500.

Na internetu jsem nasel :
Citace
There is a way to determine what type of file a pdb file is though. If you open the file in a text editor, there will be a string of text that will identify the file type. It could almost be considered the equivalent of a file extension except you can't see it unless you open the file in an editor.

No to funguje ve windows, treba Leafpad mi zobrazi kulovy, ale :
Kód: [Vybrat]
cat /media/Media2Go/Eknihy/Ginsberg\,\ A/Ginsberg_Allen-Kvileni.PDB
Ginsberg_Allen-KvilenA:WA:WTEXtREAd~@o�o�
                                            �@o�3@o�"�@o�-s@o�E  ALLEN�INSBERG:�V̀��  
 ��ZPro�arla�olomona�(
�/  Vid�l�sem�ejlep���lavy�v��enerace�ni�en�  ��lenstv�m,�ystericky�bna�� a��du,  vlekouc��a���t�n� �erno�sk�mi�lice�@a�ztekle  sh�n�j큸d�vku�rogy�phip�y���n���
pricemz je videt oznaceni TEXtREAd

Ty formaty jsou TEXtREAd, DataPlkr, Isilofree, Isilo 3, PNRdPPrs .. a dalsi to se da zjistit.

No a ted ale jak ?  ??? Potreboval bych projit rekursivne celou slozku s knizkama  a u kazdeho souboru se podivat jestli je to oznaceni formatu pritomne a ulozit cestu toho souboru s nazvem toho formatu. V pripade ze to nenajde zadne oznacncei onacit treba xxx. Myslim ze na vypsani 1. radky by slo pouzit
Kód: [Vybrat]
head -1a na vyhledavani textu AWK, pricemz jak jsem hledal tak /format/ by melo identifikovat format. Takze jsem zkousel a celkem uspesne :
Kód: [Vybrat]
awk /PNRdPPrs/ /media/Media2Go/Eknihy/Asimov\,\ I/Asimov\,\ Isaac\ -\ Dite\ Casu.pdb
Dite casC#X�C#X�PNRdPPrsP�o�To�,o�#Mo�4ro�Eyo�V o�gho�x�o�ko� �,o�
Take jsem zjistil ze pokud se dany substring v tom souboru nenachazi takmi to nic nevyhodi a tim by bylo snad osetrena pripad : "neznamy format"

No a ted z toho potrebuju udelat skript  ::)
Tohle byl ten pokus  o konverzi ktery sice blbe ale fungoval.
Kód: [Vybrat]
#!/bin/bash

sourcedir="$1"
destdir="$2"

echo "converting Directory: $sourcedir"

for subdir in "$sourcedir"/*
do
  if [[ -d "$subdir" ]]
  then
    for file in "$subdir"/*
    do
      #ebook-convert "$file" ".epub" --input-encoding windows-1250 --single-line-paras
      mkdir -p "$destdir$subdir"
      txt2pdbdoc -d "$file" | iconv -f cp1250 -t utf8 > "$destdir${file%.*}.txt"
      #echo "File : $file"
      #echo "Directory : $destdir$subdir"
    done
  fi
done

Takze bch potreboval nejakou array nebo proste ulozit ty nazvy tech formatu do vice promennych a udelat neco jako :
Kód: [Vybrat]
if notempty (awk /format1/ OR /format2/ OR ... filename)
print found_string + path_to_file
else
print  "unknown format" + path_to_file

Pak jsem jeste resil problem ze v tom mem skriptu se mi do promene $subdir ukladala absolutni cesta a potreboval bych ji relativni k promene sourcedir .... ale to uz je malickost.


No tak kdyby mi nekdo dal nejaky hint jak tohle udelat budu moc moc vdecny - diky K
« Poslední změna: 11 Března 2011, 00:29:42 od karlitos »
Lenovo ThinkCentre A61 912073G
Athlon X2 5000+ 4GB RAM Nvidia Geforce 9500GT
Linux Mint 9 Isadora , Win7 64Bit

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: Jak zjistit formatu PDB souboru - informace ulozena v 1. radku
« Odpověď #1 kdy: 17 Března 2011, 10:38:51 »
blbe se zeptam, ale bezne operuji jen s cp1250 a utf8, ale co se stane pokud prozenu soubory s nejakym exotictejsim kodovanim nasledujicimi prikazy
Kód: [Vybrat]
/ foo.pdb > foo.txt

find . * -type f -iname '*.pdb' | while read F
do txt2pdbdoc -d "F" > "F".txt
done

find . * -type f -iname '*.txt' | while read F
do if [ "`file "$F" | grep -o Non-ISO`" = "Non-ISO" ]
then  cstocs -i cp1250 utf8 "$F"
fi
done

Neslo by par desitek takovych to souboru nekam nasdilet? Docela by me zajimalo co by se stalo.
"Pouze text v MS Wordu je opravdu čistý, příteli."

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: Jak zjistit formatu PDB souboru - informace ulozena v 1. radku
« Odpověď #2 kdy: 18 Března 2011, 01:53:26 »
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

 

Provoz zaštiťuje spolek OpenAlt.