Tic-Tac Ierakstīts Aprīlis 14, 2020 Share Ierakstīts Aprīlis 14, 2020 Sveiki visiem! Nepieciešams pielāgot komandas izvadi konkrētam formātam, zinu, ka to var izdarīt ar awk, bet diemžēl man nav tādu zināšanu un pieredzes, tāpēc ceru, ka kāds spēs palīdzēt. Mana komanda sniedz šādus rezultātus: echo "\"SHA-1"\","\"MD5"\","\"CRC32"\","\"FileName"\","\"FileSize"\","\"ProductCode"\","\"OpSystemCode"\","\"SpecialCode"\" && find . -type f -exec bash -c 'sha1sum "{}" | cut -d " " -f 1 ' \; -exec bash -c 'md5sum "{}" | cut -d " " -f 1 ' \; -exec bash -c 'crc32 "{}" ' \; -printf "\"%f\"\n%s\n200828\n\"365\"\n\"\"\n" "SHA-1","MD5","CRC32","FileName","FileSize","ProductCode","OpSystemCode","SpecialCode" 0def05b8190bf7071647175be9f7dd6f94aa5076 6c4c7b8f254c05a3b0f350f45009b520 47ec1eef "opera.exe" 51805816 200828 "365" "" 4dddefb899720c15caf4f27e9c99ccd458421d2b 1b4dfb401647474610358eed7104eadc 2e4b3c43 "d3dcompiler_47.dll" 3457656 200828 "365" "" Nepieciešams, lai rezultāti tiktu attēloti vienā līnijā, atdalīti ar komatu un sha1, md5 un crc32 būtu iekš pēdiņām, šādi: echo "\"SHA-1"\","\"MD5"\","\"CRC32"\","\"FileName"\","\"FileSize"\","\"ProductCode"\","\"OpSystemCode"\","\"SpecialCode"\" && find . -type f -exec bash -c 'sha1sum "{}" | cut -d " " -f 1 ' \; -exec bash -c 'md5sum "{}" | cut -d " " -f 1 ' \; -exec bash -c 'crc32 "{}" ' \; -printf "\"%f\"\n%s\n200828\n\"365\"\n\"\"\n" | šeit notiek awk maģija "SHA-1","MD5","CRC32","FileName","FileSize","ProductCode","OpSystemCode","SpecialCode" "0def05b8190bf7071647175be9f7dd6f94aa5076","6c4c7b8f254c05a3b0f350f45009b520","47ec1eef",""opera.exe"",51805816,200828,"365","" "4dddefb899720c15caf4f27e9c99ccd458421d2b","1b4dfb401647474610358eed7104eadc","2e4b3c43","d3dcompiler_47.dll",3457656,200828,"365","" Aliņš no manis :) Link to comment Share on other sites More sharing options...
AndrisBB Aprīlis 14, 2020 Share Aprīlis 14, 2020 Ai, baigajam konsoles hawkam tur jābūt lai vispār iedziļinātos. Es uzrakstītu Python scriptu un miers. Link to comment Share on other sites More sharing options...
Anonīms Alkoholiķis Aprīlis 14, 2020 Share Aprīlis 14, 2020 (labots) Pitons vai pat perls tev labāk apstrādās gigabaitīgos NSRL failus. Ar pitonu varēsi testēt uz windows un pēc dažiem mēnešiem, kad iznāks nākamais saraksts, būs vieglāk apstrādāt nākamo paku - nebūs jāmeklē kur konsoles vēsturē tas ir palicis. Tikai kāda jēga pārgremot un atgremot no CSV uz CSV? Vai tiešām gala aplikācija ir tik tupa, ka bez pēdiņām nespēj apstrādāt datus? Labots Aprīlis 14, 2020 - Anonīms Alkoholiķis Link to comment Share on other sites More sharing options...
Tic-Tac Aprīlis 14, 2020 Author Share Aprīlis 14, 2020 Man nepieciešams veidot savas NSRL formāta datubāzes no piemontētiem imidžiem, programma, kas tālāk man viņas apstrādās man ir, viss darbs notiek uz Linux. Link to comment Share on other sites More sharing options...
Anonīms Alkoholiķis Aprīlis 14, 2020 Share Aprīlis 14, 2020 Tad kāpēc nevar pielabot rīku ar ko taisīsi tās bāzes, lai nebūtu jātaisa visādas konvertācijas? Link to comment Share on other sites More sharing options...
Tic-Tac Aprīlis 14, 2020 Author Share Aprīlis 14, 2020 Tu domā par tām pēdiņām? Domāju, ka ar awk tos datus sastrukturizējot tās pēdiņas būtu sīkums pielikt. Varbūt jāpacīnās kaut kā ar printf lai pie outputa uzreiz jau ir tās pēdiņas, bet awk jautājums vienalga būs jārisina, tā kā nezinu cik tas būs lietderīgi. Link to comment Share on other sites More sharing options...
AndrisBB Aprīlis 14, 2020 Share Aprīlis 14, 2020 (labots) Būtu parādijis kāds ir ienākošais formāts un kādam jābūt izejošam, tad varētu kautko domāt Labots Aprīlis 14, 2020 - AndrisBB Link to comment Share on other sites More sharing options...
Anonīms Alkoholiķis Aprīlis 14, 2020 Share Aprīlis 14, 2020 (labots) Sapratu problemu ar foruma lasītprasmēm. Viņš taisa bash skriptu, kas uztaisa to izejas failu, bet netiek galā ar izvadi. echo '"SHA-1","MD5","CRC32","FileName","FileSize","ProductCode","OpSystemCode","SpecialCode"' find -type f -name "*" -exec bash -c '_m=`(/usr/bin/md5sum "{}"|cut -d " " -f 1)`\\; echo "\"$_m\",\"{}\""' \; "5ea2ec7740ac5f2612b6e6c4d12bbadc\","./.bashrc" "22bfb8c1dd94b5f3813a2b25da67463f\","./.bash_logout" "3ae54e3f9fa96bc3034b98b2fd30e7a3\","./.bash_history" "f9baa9c2060c4d19b49169e9e475d133\","./README-cloudshell.txt" "447ecfc839910103f121085490ad01fc\","./.docker/config.json" "ecb6d3479ac3823f1da7f314d871989b\","./.profile" "a7c1f78d096e37034280568ff4abcb89\","./.theia/settings.json" Reku viens virziens, kā to var risināt. Kaut kur drusu pārrakstījos un ir viena ekstra šķērssvītra. To nāksies pašam novākt. Labots Aprīlis 14, 2020 - Anonīms Alkoholiķis 1 Link to comment Share on other sites More sharing options...
AndrisBB Aprīlis 14, 2020 Share Aprīlis 14, 2020 Nu tur tad laikam jāuzliek sisadmina cepure, lai to visu uzrakstītu vienā komandā kuru pēctam neviens nesaprot un fig kautko izmainīsi vai pieliksi. Tad palieku pie sava primā sprieduma, labāk uzrakstītu pāris rindas Pitonā un miers Link to comment Share on other sites More sharing options...
Tic-Tac Aprīlis 15, 2020 Author Share Aprīlis 15, 2020 pirms 13 stundām , Anonīms Alkoholiķis teica: Sapratu problemu ar foruma lasītprasmēm. Viņš taisa bash skriptu, kas uztaisa to izejas failu, bet netiek galā ar izvadi. echo '"SHA-1","MD5","CRC32","FileName","FileSize","ProductCode","OpSystemCode","SpecialCode"' find -type f -name "*" -exec bash -c '_m=`(/usr/bin/md5sum "{}"|cut -d " " -f 1)`\\; echo "\"$_m\",\"{}\""' \; "5ea2ec7740ac5f2612b6e6c4d12bbadc\","./.bashrc" "22bfb8c1dd94b5f3813a2b25da67463f\","./.bash_logout" "3ae54e3f9fa96bc3034b98b2fd30e7a3\","./.bash_history" "f9baa9c2060c4d19b49169e9e475d133\","./README-cloudshell.txt" "447ecfc839910103f121085490ad01fc\","./.docker/config.json" "ecb6d3479ac3823f1da7f314d871989b\","./.profile" "a7c1f78d096e37034280568ff4abcb89\","./.theia/settings.json" Reku viens virziens, kā to var risināt. Kaut kur drusu pārrakstījos un ir viena ekstra šķērssvītra. To nāksies pašam novākt. Wow! Liels paldies par ideju! Izskatās, ka šis risinājums man varētu palīdzēt iztikt bez awk, ar sed veiksmīgi tiku vaļā no backslashiem un punktiem. Tagad jāprovē iekļaut outputā pārējās komandas. find -type f -exec bash -c 'm=`(/usr/bin/md5sum "{}"|cut -d " " -f 1)`\\; echo "\"$m\",\"{}\""' \; | sed -e 's/[./]//g' -e 's/[\]//g' "78b0702a5dfd2b1ea1e9cfe0ba237da3","koreainternetandpubopformpdf" "b7ec4abc79542a9a2e7df6aa8b455d51","PolandandbalticspuboponUkrainepdf" "31eeccf3693bd01e40d47d194d0be8b0","Measuring labour market discriminationpdf" "3a8ff4658d92e07220e7b54b0f0147dd","howamericanpubopshapespolicypdf" "c1d7d49bcd97d3b39c515bab134ab292","Perception Managementpolandmarketingdeceptiontechniquespdf" "d9ca9e68954b26fa9b433777e2abe4b3","Perception ManagementClassicaldeceptiontechniquesandinfowarbyKopppdf" "4600e86fec4de9c9bd1680c64e99cad1","Perception ManagementInformationOperationsMattersbyLeighArmisteadbookreviewpdf" "d58bf40342594245a9937a5438685a53","Perception ManagementInformationOperationstextbookpdf" "970099372f530e183283cab3a72135f1","Perception ManagementRussia'sreflexivecontroltheorypdf" Ja izmantojot tavu risinājumu izdarīšu to, ko man vajag, tad tev, Anonīmais, aliņš no manis! Link to comment Share on other sites More sharing options...
Tic-Tac Aprīlis 15, 2020 Author Share Aprīlis 15, 2020 Liels paldies Anonīmajam Alkoholiķim par cita virziena ieteikšanu, dabūju ko gribēju. Nav eleganti, nav multithreadinga ātrums, bet kā pagaidu risinājums derēs. Ja nu kādam interesē: echo "\"SHA-1"\","\"MD5"\","\"CRC32"\","\"FileInode"\","\"FileSize"\","\"ProductCode"\","\"OpSystemCode"\","\"SpecialCode"\" && find -type f -exec bash -c 'a=`(sha1sum "{}"|cut -d " " -f 1)` b=`(md5sum "{}"|cut -d " " -f 1)` c=`(crc32 "{}")` d=`(stat -c %i "{}")` e=`(stat -c %s "{}") `\\; echo "\"$a\",\"$b\",\"$c\",\"$d\",$e,200828,\"365\",\"\""' \; | sed -e 's/[./]//g' -e 's/[\]//g' Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!