- Telekom mobilszolgáltatások
- A Watch7-tel debütálhat a Samsung vércukormérője
- Fotók, videók mobillal
- iPhone topik
- Garmin Forerunner 165 - alapozó edzés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Bemutatkozott a Redmi új szériája
- Oppo Find X5 Pro - megtalálták
- Bluetooth-headsetekről általában
Hirdetés
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
Miniképernyős, VIA-s Epomaker billentyűzet jött a kábelmentes szegmensbe
ph A megfizethető, szivacsokkal jól megpakolt modell ötfajta kapcsolóval és kétféle színösszeállítással/kupakprofillal szerezhető be.
-
Free Play Days 2024 - 17. hét: Railway Empire, Prison Architect
gp Extraként a TramSim: Console Edition című játékot is kipróbálhatják az érdeklődők.
Új hozzászólás Aktív témák
-
dabadab
titán
válasz Headless #1972 üzenetére
Erre a problémára az az általámos megoldás, hogy a kapcsolók után írsz egy dupla kötőjelet:
cat file | grep -- "$var"
Ez nem csak grepnél működik, hanem úgy általában a mindenféle command line tooloknál (az 1992-es POSIX.2 szabványban szerepel irányelvként, hogy ennek így kellene működnie).
DRM is theft
-
válasz Headless #1986 üzenetére
dd-vel így lehet 64k-t beolvasni egy fájlból:
dd if=filenev bs=1024 count=64 of=tempfile
megfordítani egy fájlt a tac paranccsal lehet, tehát a végéről így lehet olvasni dd-vel:
tac filenev | dd bs=1024 count=64 | tac >>tempfileés md5sum tempfile
expertebb júzerek használhatják a head és a tail parancsokat is.
szerk: bocs, elfelejtettem visszafordítani a bájtokat.
[ Szerkesztve ]
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
válasz Headless #1988 üzenetére
nekem az a problémám ezzel, hogy ha shellben akarod kiértékelni a bájtokat, akkor azt a shell megpróbálja értelmezni. tehát a "$data" behelyettesítéskor nem tudom, hogy mi történik az adatokkal.
ezért lenne jobb ideiglenes fájlba letenni, vagy buherálni kicsit a fájldeszkriptorokkal... mktemp-pel tudsz biztonságosan ideiglenes fájlnevet csinálni.
utána
head -c 65536 dexter.mp4 >$tempfile
tail -c 65536 dexter.mp4 >>$tempfile
md5sum $tempfile"Rosszul értelmeztem a leírást?": nem, én voltam figyelmetlen.
szerk: ez jónak tűnik:
cat <(head -c 65536 dexter.mp4) <(tail -c 65536 dexter.mp4) | md5sum
[ Szerkesztve ]
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
-
-
Jester01
veterán
válasz Headless #1992 üzenetére
Tiszta bash megoldás, ami csak egyszer olvassa be a sorokat és semmilyen külső programot nem hív:
#!/bin/bash
declare -a stats
while read line
do
field=${line%;*}
field=${field##*;}
stats[$field]=$((stats[$field] + 1))
done
for field in ${!stats[@]}
do
echo "[$field,$((-100-${stats[$field]}))"
doneJa, ha a nullákat is ki kell írni, akkor simán a számokon kell iterálni, nem a tömbön:
for ((field=0;field<14;field+=1))
do
echo "[$field,$((-100-${stats[$field]:-0}))"
done[ Szerkesztve ]
Jester
-
Jester01
veterán
válasz Headless #1998 üzenetére
A ciklust akkor dolgozza fel lassan, ha van benne valami lassú. A tiéd tele van külső program indítással (cut, grep, wc, sed) az enyém mind beépített ... garantáltan nagyságrendekkel gyorsabb. Ha nincs bash (vagy kompatibilis) akkor persze mindegy. A kimenet meg úgy néz ki ahogy először kérted
Jester
-
-
spammer
veterán
válasz Headless #2059 üzenetére
Szerintem nem fájlnevekről van szó, hanem fájlokról, amikben keresünk (több sorban, és bármelyikben lehet a keresendő kifejezés). Ha feltétel itt most kulcsszót jelent, akkor ilyesmi:
grep -Pzl 'KEYWORD1.*\n.*KEYWORD2' *.txt
grep -Pzo 'KEYWORD1.*\n.*KEYWORD2' *.txtDe pl. ezek sem teljesen jók, mert ha a 2-es kulcsszó van előbb, már nem találja meg.
grep -Pzo 'KEYWORD1.*\n.*KEYWORD2|KEYWORD2.*\n.*KEYWORD1' *.txt
így sem találja meg mindet, mert csak az elsőt veszi figyelembe. Az egrep pedig semmit nem ad vissza ezzel.
awk '/keyword1/ && /keyword2/' *.txt szintén nem működik.
De ha mégsem kulcsszóról van szó, akkor nem ártana tudni, milyen feltételről van szó.
Ha valakit tud profi, egysoros (egy parancsos, nem pipe-os) megoldást a fentiekre, arra (én is) kíváncsi lennék.
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
őstag
-
őstag
-
beloadjoker
őstag
válasz Headless #2141 üzenetére
Még most sem sikerült, leírnád hogy kellene?
Túl nagy évszám nem gond tanár adja a feladatot persze ha kapok ilyet zh-n, nem írta hogy nem lehet nagyobb az évszám valamennyinél
*igen csak én csináltam gyors nyilván hogy keressem a megoldásban a hibát
[ Szerkesztve ]
Oneplus One 64gb S. Black + nokia N900 + Xperia Mini + Lenovo y510p i7 SLI 16Gb 256 ssd 1tb ext. hdd + Lenovo x200 + Nexus 7 grouper 16gb + Nexus 7 flo 32gb
-
prucam
tag
válasz Headless #2192 üzenetére
Rendben. Egy kis magyarázat. Elnézést kérek.
Weblapokból, *txt-ékből, file-kből stb. szoktam az awk-val infót gyűjteni, főleg mondatkból. Néha olyan hosszúak a sorok (v. mondatok), hogy nincs kedvem "totozni" az awk-val, hogy most mezőben (mezőkben) van az info.
Ezért gondoltam arra, hátha van az awk-nak olyan funkciója, hogy mutassa meg melyik hányadik mezőben mi van.Saját egyszerű mondat pl.:
egy ketto harom negy ot
Végeredmény ez legyen:
1 egy
2 ketto
3 harom
4 negy
5 otA "read"-es megoldás jó nekem. Persze az adott sort nekem kell bemásolni a file-be. De mindig jobb mintha nekem kell számolgatni.
Az awk-nál meg van "NR==x" is, csak az adott sor számát kell "kitalálni":
Ennyi a magyarázat. Most érthetőbb?
[ Szerkesztve ]
-
-
-
Headless
őstag
válasz Headless #2657 üzenetére
megoldottam, mivel a fájlokban van egy másik separator, azt feltudtam hasnálni, nyilván a zárt forráskódű fejlesztők is azt használják szeparátornak...
Röviden: grep kikeresem a byteoffseteket a separatorokhoz, majd végig megyek rajtuk while ciklusban, kiszámolom a megfelelő kezdő/végoffset értékeket és azt dd-vel szépen átmásálom. A separatort átírom, hogy ne legyen kereshető, nehogy megtalálja a zárt forráskódú szoftver fejlesztő, vagy bárki más aki rákeresneAz elején van 4 byte felesleg, valamint a separator 8 byte azt hozzáadom az előző byteoffsethez
previousByteOffset=4
imageCount=0
grep -oba ggggggg "$imageFile" |while IFS=: read byteOffset rest;do
dd if="$imageFile" of="$imageFile-$imageCount.jpg" bs=$(($byteOffset-$previousByteOffset)) count=1 skip=$previousByteOffset iflag=skip_bytes
previousByteOffset=$(($byteOffset+8))
imageCount=$(($imageCount+1))
done
LEDE - R3G/DIR860l -> https://tinyurl.hu/Ntkb/
Új hozzászólás Aktív témák
- Amazon Kindle
- Kamionok, fuvarozás, logisztika topik
- Amlogic S905, S912 processzoros készülékek
- Nyíregyháza és környéke adok-veszek-beszélgetek
- A régi node-okra koncentrál a szankciók miatt Kína
- Magga: PLEX: multimédia az egész lakásban
- Azonnali VGA-s kérdések órája
- Windows 11
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Facebook és Messenger
- További aktív témák...