Új hozzászólás Aktív témák
-
CPT.Pirk
Jómunkásember
válasz bambano #1050 üzenetére
Volt egy kis fennakadás a Xilinxesek miatt, így nem tudtam tesztelni eddig.
Beírtam, így kétszer olvas be 41 számpárt, a második beolvasás során számol és ír fájlba. Ennek nem jöttem rá az okára, hogy miért nem megy egy kör alatt.
BEGIN { printf ("\x11") > /dev/ttyUSB0; }
NR<41 { a[NR]=substr($0,1,4); b[NR]=substr($0,5,4); }
NR>41 { exit 0; }
END{
for(i=1;i<41;i++) if(a[i] > 0) printf ("%4.3f\n",20*(log(b[i]/a[i])/log(10.0))) > "/home/patch/awk/output.txt";
}Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
-
CPT.Pirk
Jómunkásember
válasz bambano #1052 üzenetére
Ha a NR<41 { a[NR]=substr($0,1,4); b[NR]=substr($0,5,4); } sor végén ott van a printf("%d\n",NR ), akkor először kiírja az NR értékeit, majd megint elkezd adni a modulom és akkor lép ki a scriptből, mikor a for ciklus is lement, ismét 41 lépéssel.
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
-
CPT.Pirk
Jómunkásember
-
-
lapa
veterán
üdv. erről a gépről szeretném megüzenni a távoli gépnek, hogy legyen kedves mountolni. ez ilyen ubuntu sudo-s módszer ugye. eddig jutottam:
ssh lapa@tavoli 'sudo mount /dev/sdb1 /media/sdb1'
ez persze nem megy. szóval parasztosan az a kérdésem, hogy hogyan hozom át a jelszó bekérését. ha át lehet. ilyen sudoers varázsokat hagynám inkább. köszi.
-
lapa
veterán
na feladom: szóval én mindenáron azt szeretném megoldani, hogy erről a gépről át tudjak rsyncelni valamit a távoli gépre. mindezt úgy, hogy mindkét (ubuntu) gépen sudo vagyok.
ezt szeretném:
1. elindítom a scriptet
2. ssh távoli gép jelszót kér
3. távoli sudo jelszót kér és mountol egy partíciót (eddig asszem megvagyok).4.
sudo rsync -a -v -z -e ssh --rsync-path='sudo rsync' \
--delete \
--exclude=/var/lib/video \
--exclude=/dev \
--exclude=/tmp \
--exclude=/proc \
--exclude=/lost+found \
--exclude=/media \
--exclude=/mnt \
--exclude=/sys / lapa@ii:/media/sdb1/5. távoli umount (ez is megvan)
a bajom a 4. ponttal van, mindenáron sudo: no tty present and no askpass program specified -et kapok.
volt egy olyan ugly workaround, hogy előtte
stty -echo; ssh myUser@REMOTE_SERVER "sudo -v"; stty echo
de ahhoz ki kéne kapcsolni a sudo per-tty ticketjét, és ha jól értem azt nem akarom szekurity részirűl.
volt ugyanitt valami ilyen megoldási javaslat, de ezt még emésztem. azt írják ebben látszik a jelszó, szóval nem tűnik nyerőnek:
rsync -R -avz -e ssh --rsync-path="echo mypassword | sudo -S mkdir -p /remote/lovely/folder && sudo rsync" /home/ubuntu/my/lovely/folder ubuntu@x.x.x.x:/remote/lovely/folder --delete
valahogy csak meg lehet ezt oldani, és szerintem elég fontos lenne. általában nagyon lényeges lenne a távoli sudo-s rsync.
-
jelszót normális szoftverek nem az stdin-ről veszik, hanem a /dev/tty-ról, úgyhogy azt nem lehet echo-val betolni.
ez egy normális linuxon úgy működik, hogy átrakod az ssh kulcsodat és sima rsync. ha biztonsági gondjaid lennének, akkor a kényesebb gépről menj ki a kevésbé kényes gépre.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
válasz CPT.Pirk #1057 üzenetére
kis olvasnivaló linuxon soros port kezelés
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
CPT.Pirk
Jómunkásember
válasz bambano #1063 üzenetére
Köszönöm!
Most egyébként rendeltem rendes quartz oszcillátorokat, mert végre megtaláltam a leírásban, hogy egy "szilícium oszcillátor" van gyárilag a nyákon, ami egyrészt nem elég pontos a freki tartásban, másrészt +-0,5% freki hibája van, ami 50MHz-en elég cinkes. (szerintem még több is van neki, mert 47.8MHz körül szokott menni)
Csütörtök - péntek körül meglesz az új quartz, addig tökéletesítgetem a mostani cucost. Nem tudtam foglalkozni vele és ma se érzem valami frankón magam ehhez (hülye frontok), így még nincs gnuplot rajzom, de már nagyon szeretném.
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
CPT.Pirk
Jómunkásember
Lehet olyat csinálni a printf-el, hogy a szövegen belül idézőjel is legyen? A gnuplot paramétereket szeretném fájlba írni, ahol ilyen sorok vannak:
set valami...
set ylabel "amplitudo"
set valami...\n, meg ilyenek megvannak, csak az idézőjellel nem tudom mit kezdjek.
awk '{print "set valami\nset ylabel "amplitudo"\nset valami"}' > /home/patch/awk/plotfile
Ha awk-s printet hívom meg, az nem ad hibát, de megakasztja az egész fájlt.Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
válasz CPT.Pirk #1065 üzenetére
persze, ahogy ctrl+q-t ki tudtál írni a \x11-gyel, idézőjelet meg aposztrófot is ki lehet írni \x22 meg \x27 a kódjuk, ha nem csalnak az emlékeim.
illetve az eredeti unix filozófia szerint escape-lni kell és akkor jó lesz, tehát ha idézőjelen belül idézőjelet akarsz, akkor \" -t kell írni.
[ Szerkesztve ]
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
CPT.Pirk
Jómunkásember
válasz bambano #1066 üzenetére
Köszönöm, mindkét megoldás működik! - lottószámokra nincs tipped?
Amúgy most végre megvan a gnuplot is felparaméterezve, szépen kirajzolja, amit kell. Végül egy bash scriptbe foglaltam bele mindent, a fájl műveleteket, az awk-s programot, meg a gnuplotot.
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
-
lapa
veterán
olyat szeretnék, hogy indításkor minden, 10mb-nál nagyobb fájlt ürítsen ki a /var/log/ -ban.
olyat találtam, hogy find -size +10000 | xargs rm
de gondolom az rm + touch kombónál egyszerűbb lenne valami >
-
lapa
veterán
válasz Jester01 #1072 üzenetére
ez jó ez a logrotate, csak éppen valami olyasmi jelenséggel küzdök, ami ritkán de kegyetlenül belehány sokszáz mega felesleges sort akármiről is (valami dvb driver issue, de nem fogom tudni megoldani most). szóval nem kell ez nekem, csak annyit szeretnék mint minimum, hogy ne dönthesse be a gépet ha valamiért úgy van hagyva (azaz legrosszabb esetben restart rc.local megoldja ezzel a masszív pucolósdival).
egyébként a parancs perfekt, köszönöm.
-
CPT.Pirk
Jómunkásember
válasz bambano #1068 üzenetére
Hoppá hoppá, meglett az "od" parancs "elcsúszásának" az oka.
Mióta ma betettem a 120MHz-es quartz oszcillátort és azt használom a +- 0.5% frekvencia erroros szilícium oszcillátor helyett, egyszer sem tévesztett az od és az sem fordult elő, hogy a kiküldött x11 helyett mást látott volna az fpga, korábban ez is gyakori volt.Szerencsére még pluszban a 120MHz az egész számú többszöröse a 115200-nak, így kerekítési hiba sincs.
740Ft volt ez a 120-as quartz, francnak nem vettem meg korábban.
-hamarosan remélem lesz egy videó róla, hogy végül is mit tud a rendszer.[ Szerkesztve ]
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
-
-
CPT.Pirk
Jómunkásember
válasz bambano #1078 üzenetére
Köszönöm!
Tudod miért számoltam el? Mert a Windows7 számológépe programozó módban volt, így nem mutatta a tizedeseket.Amúgy ez a pici eltérés, a 115273,77521613832853025936599424 Hz úgy tapasztaltam, még benne van az uart tűrésében. Majd holnap / (ma) átdolgozom a 38400 baudra a kódot.
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
drogery
tag
Hali,
egy beadandó feladatot kellene készítenem. Ezek közül 1et.1. Irjon C nyelvu programot, ami:
letrehoz ket gyermekprocesszt
ezek a gyermekprocesszek letrehoznak 3-3 tovabbi gyereket
ezek az unokak varakoznak nehanymasodpercet es szunjenek meg
a szulok varjak meg a gyerekek befejezodeset es csak utana szunjenek meg2. Irjon C nyelvu programokat, ami
SIGUSR1 signal erkeztekor noveli egy valtozo erteket
SIGUSR2 signal hatasara pedig kiirja a kepernyore az aktualis erteket.
amasik program pedig: futtataskor signal-t kuld az adott processznek
3. Irjon C nyelvu programokat, ami
letrehoz egy uzenetsort
ebbe az uzenetsorba betesz egy masodpercenkent egy valtozot
ennek a valtozonak a kezdoerteke legyen azaktualis processz azonositoja
a valtozo mindig beiras utan novekedjen 2-vel
a masik program pedig: kiolvas4. Irjon C nyelvu programokat, ami
hozzon letre egy osztott memoria szegmenst
a felhasznalotol olvasson be szoveget, es ezt irja be az osztott memoria teruletere eskuldjon signalt a fogado felnek, hogy kesz az uzenet (SIGUSR1)
(segitsegkeppen a masik program pid-je fixen beleteheto a programba)
a masik program pedig olvass ki azosztott mem szegmensbol, de csak egy adott signal hatasara (SIGUSR1)
vegul szuntesse meg az shm szegmenst5. Irjon C nyelvu programot, ami
letrehoz egy csovezeteket (egy file deszkriptor part)
elforkol
a gyermek egy signal hatasara elkuld egy rovid szoveget aszulonek (a signalig blokkol)
a szulo kiirja a kepernyore
megszunnek a processzek (a szulo megvarja a gyereket)6. Irjon C nyelvu programokat, ami
letrehoz egy nevesitett csovezeteket (bejegyzes az fs-en)
megnyitja
beleir valamit
kozben egy masik program kiolvassa acsovezetekbol
ezutan az elso program szinten ir bele valamit
a masik program ujbol kiolvassa
a processzek megszunnek es az elso program eltunteti a nevesitettcsovezeteket
7. Irjon C nyelvu programokat, ami
letrehoz egy osztott memoria szegmenst
az egyik program ir bele es var par masodpercet
binaris szemafor segitsegevel "vedi" az irasta masik program pedig kiolvas belole
8. Irjon C nyelvu programokat, ami
letrehoz egy filet
az egyik program ir bele es var par masodpercet
binaris szemafor segitsegevel "vedi" az irast
a masikprogram pedig kiolvas belole a file elejetol kezdve
A beadás határideje szombat 23.59.
Nyilván megfelelő kompenzálás fejében keresnék valakit, aki "segít az elkészítésében".
Többit privátban.
üdv -
CPT.Pirk
Jómunkásember
Meg lehet valahogy oldali, hogy a shell script lépjen ki, mikor az stty -F .... soros port konfiguráló parancs nem tud lefutni, mert "helytelen ioctl hívás az eszköznek" hibaüzenet van? Ilyenkor megáll a script, amíg ki nem húzom az USB-t.
A hiba okát nem tudom, egy reset után helyrejön.
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
CPT.Pirk
Jómunkásember
Ebben az AWK-ban a printf-s részt hogyan lehetne kihagyni? Ebben a formában nem csinál semmit, nem küldi el az xon karaktert, viszont nem jöttem rá, hogyan lehet kiiktatni ezt a sort.
Lehet van ott másik gond is, mert valamiért nem igen akar újabban letárolni fájlba értékeket, pedig eddig ment, aztán hozzá nem nyúltam...
BEGIN { printf ("\x11") > /dev/ttyUSB0; }
NR<41 { a[NR]=substr($0,1,4); b[NR]=substr($0,5,4); }
NR>41 { exit 0; }
END{
for(i=1;i<41;i++) if(a[i] > 0) printf ("%4.3f\n",20*(log(b[i]/a[i])/log(10.0))) > "/home/patch/awk/output.txt";
}Úgy tervezem, hogy ebből a scriptből kerül meghívásra a fenti awk:
#!/bin/sh
INPUTFILE="/dev/ttyUSB0" #bemenet
OUTPUTFILE="/home/patch/awk/output.txt" #kimenet a plot számára
AWKFILE="/home/patch/awk/alma" #awk fájl
PLOTFILE="/home/patch/awk/plotfile" #paraméterek a gnuplot számára
WORKDIR="/home/patch/awk/"
stty -F /dev/ttyUSB0 9600 -clocal -cread -crtscts cs8 cstopb -parenb || exit 1 #soros port paraméterezés
if [ $OUTPUTFILE ]; then
rm $OUTPUTFILE #kimeneti fájlok előkészítése
fi
touch $OUTPUTFILE
if [ $PLOTFILE ]; then
rm $PLOTFILE
fi
touch $PLOTFILE
printf "set grid nopolar\nset xlabel \"frekvencia logaritmikus skalan [HZ]\x22\nset ylabel \x22amplitudo [dB]\x22\nset xrang$
printf "\x11" > $INPUTFILE #XON karakter küldése az FPGA-nak
awk -f $AWKFILE < $INPUTFILE #mért értékek letárolása
printf "\x13" > $INPUTFILE #XOFF karakter küldése az FPGA-nak
cd $WORKDIR
gnuplot ./plotfile -presistEbben a formában jól működik a karakterek elküldése.
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
-
CPT.Pirk
Jómunkásember
válasz bambano #1086 üzenetére
Oké.
Így most tárol, de valahogy kb. mindig 41.xyz kerül a fájlba. Nem is lehetne pozitív érték.
Elvileg a kód oldalán van valami bibi, mert az fpga progijába nem nyúltam bele egy ideje.Ezt az strace-t csináltam: [link]
[ Szerkesztve ]
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
CPT.Pirk
Jómunkásember
Nem teljesen értem mi van. Az awk-s progi helyett OD-vel fájlba küldtem a kimenetet, minden alkalommal ilyen (különös tekintettel az első 3 számra, az értékük is pontosan ez minden alkalommal):
od -An -t c -N256 /dev/ttyUSB0 > $OUTPUTFILE
3 314 316 1 4 0 9 0 \n 4 0 9 1 4 0 9
0 \n 4 0 9 9 4 0 8 8 \n 4 0 9 0 4
0 8 9 \n 4 0 9 0 4 0 8 8 \n 4 0 9
1 4 0 9 1 \n 4 0 9 0 4 0 9 0 \n 4
0 9 3 4 0 9 1 \n 4 0 9 2 4 0 9 0
\n 4 0 9 2 4 0 9 1 \n 4 0 8 9 4 0
8 9 \n 4 0 9 0 4 0 8 8 \n 4 0 9 0
4 0 8 8 \n 4 0 9 1 4 0 9 1 \n 4 0
9 0 4 0 8 8 \n 4 0 9 1 4 0 9 1 \n
4 0 9 1 4 0 9 1 \n 4 0 9 1 4 0 9
0 \n 4 0 9 2 4 0 9 0 \n 4 0 9 1 4
0 9 1 \n 4 0 9 0 4 0 9 0 \n 4 0 9
0 4 0 8 8 \n 4 0 9 1 4 0 9 1 \n 4
0 9 0 4 0 8 9 \n 4 0 9 1 4 0 9 0
\n 4 0 9 1 4 0 9 1 \n 4 0 9 1 4 09 1 \n 4 0 9 3 4 0 9 1 \n 4 0 9 0
Az első 4 értéket nem tudom hova tenni. Ott is ~4090 körül kellene lennie a számoknak.
Az awk progi meg ezekkel a számokkal random dolgokat ment a kimeneti fájlba. Az értékek többsége -Inf, vagyis - végtelen, meg akad egy-két random negatív szám. Valamint a kiszámolt értékek száma is változó, pedig minden esetben ugyanannyi értékpárat küld az fpga, ezt figyelem az OD-vel egy másik terminálban.
[ Szerkesztve ]
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
koczka1002
csendes tag
Sziasztok!
Lenne a következő shell scriptben megírt program.A lényege hogy lottó 5öst lehet vele játszani.Nem én írtam csak szeretném megérteni és letudná valaki írni hogy sorban mit csinál?Sűrgősen kellen, nagyon megköszönném!#!/bin/bash
echo "Kapott 5000 pontot!";
echo 5000 >eredmeny.txt
function beker
{ echo "Adjon meg öt számot 1 és 90 között, szóközzel elválasztva!";
read s1 s2 s3 s4 s5;
}
function sorsol {
let b=`date +%N`;
let a=$b-$b/100*100;
if (test $a -gt 90); then sorsol; fi
if (test $a -lt 1); then sorsol; fi
}pont=`cat eredmeny.txt`;
while test $pont > 249 ;
let pont=pont-250;
echo "Jelenleg van "$pont" pontja.";
do beker;
# for (($i=1; $i<6; $i++)); do
sorsol; echo $a;
if (test $s1 == $a); then let pont=pont+1000; fi
sorsol; echo $a;
if (test $s2 == $a); then let pont=pont+1000; fi
sorsol; echo $a;
if (test $s3 == $a); then let pont=pont+1000; fi
sorsol; echo $a;
if (test $s4 == $a); then let pont=pont+1000; fi
sorsol; echo $a;
if (test $s5 == $a); then let pont=pont+1000; fi
done
echo pont; -
CPT.Pirk
Jómunkásember
Na az én problémám megoldódott. Semmi hiba, valszeg a fejlesztő környezet szívat engem.
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
-
lapa
veterán
komolyan hülye vagyok, de ez már a 86. verzió és nem műx (./test: 7: Syntax error: "fi" unexpected)
#!/bin/sh
if [ `dmidecode -t baseboard | grep 1ZGA097Y1BL | wc -l` eq 0 ]
then
echo 'client'
else
fioké szóval úgy szeretném, hogy ne egysoros legyen, hanem az echo helyett sok parancs lenne.
[ Szerkesztve ]
-
Jester01
veterán
Azzal nincs baj, az else blokk üres és azt nem szereti. Vagy töröld ki az else-t vagy írjál bele valamit.
MOD: amúgy az a wc ott nagyon csúnya ... a grep-nek is van visszatérési értéke. Szóval olyasmi lehetne, hogy
if dmidecode -t baseboard | grep 1ZGA097Y1BL >/dev/null
then
...
fi[ Szerkesztve ]
Jester
-
-
Jester01
veterán
válasz bambano #1093 üzenetére
A -eq az jogos, nem vettem észre. A ; csak akkor kell, ha egy sorban van.
A hibaüzenet viszont attól van amit írtam. Amíg az rossz, addig a shell nem is lát neki futtatni. A -eq dolog már csak a test kapcsolója, az majd reklamál magának:
line 3: [: eq: binary operator expected
[ Szerkesztve ]
Jester
-
lapa
veterán
#!/bin/sh
if dmidecode -t baseboard | grep 1ZGA097Y1BL >/dev/null then
echo "client"
else
echo "fazom"
fi./test: 5: Syntax error: "else" unexpected (expecting "then")
upd: OK, szóval >/dev/null [B];[/B] then úgy néz ki műx. köszi mindkettőtöknek.
[ Szerkesztve ]
-
sonar
addikt
Sziasztok,
Hogyan tudnám azt megcsinálni, hogy a sed-nek több mintát adok be?
Jelenleg csak a Debreceni VSC-ből csinál Debrecent, de ha én még egy kör alatt mondjuk a Fradi-ból Ferencvárost akarok csinálni azt hogyan tudnám kivitelezni?#!/bin/bash
OLD="Debreceni VSC"
NEW="Debrecen"
DPATH="proba.txt"
BPATH="proba1.txt"
cat $DPATH | sed "s/$OLD/$NEW/g" > $BPATHA tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
pomm
tag
Sziasztok!
Kicsit elakadtam, hátha van valakinek valami használható ötlete, hogy hogyan is kellene megoldanom ezt a problémát.
Van egy darab fájlom, amiben van x darab sor. Nem tudom előre soha a sorok pontos számát, csak azt, hogy a sorok száma minden esetben hattal osztható. Nekem össze kellene fűznöm azokat a sorokat, amelyekaz adott sor száma + (az összes sorok száma osztva hattal).
Tehát érthetőbben:
Ha van 24 sorom, akkor az elsőt a 1+(24/6) sorral, tehát az ötödikkel kellene úgy összeraknom, hogy a első sor mögé rakja az ötödik sort, a második mögé a 2+(24/6) sort, azaz a hatodikat. Ha végére ér, újra kezdi, ezt egészen addig, amíg a sorok száma hattal osztható.
Minden ötletet előre is köszönök!üdv: pomm
-
Jester01
veterán
Nem biztos, hogy jól értettem a feladatot mert kicsit zavaros a megfogalmazás, az első két sorra viszont jó
$ cat >script.sh
#! /bin/bash
count=`wc -l "$1"`
count=${count%% *}
slice=$((count / 6))
exec 3< "$1"
for ((i=0;i<3;i+=1))
do
for ((j=0;j<slice;j+=1))
do
read -r -u 3 line
buffer[j]=$line
done
for ((j=0;j<slice;j+=1))
do
read -r -u 3 line
echo ${buffer[j]} $line
done
done
$ chmod +x script.sh
$ seq 1 24 >in.txt
$ ./script.sh in.txt
1 5
2 6
3 7
4 8
9 13
10 14
11 15
12 16
17 21
18 22
19 23
20 24Jester
-
válasz Jester01 #1097 üzenetére
új kérdés: van ötleted, hogy lehetne helyben módosítani egy fájlt?
ha csinálok egy ilyet:
sed .... file.txt >file.txt akkor a fájl értelemszerűen üres lesz, ezért el kell másolni valahova, onnan indítani a sed-et és visszairányítani a helyére. van ötleted, hogy másolás nélkül ezt hogy lehet? vi batch módban vagy ilyesmi?Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
Új hozzászólás Aktív témák
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Microsoft licencek a legolcsóbban - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin stb.