Hirdetés
- Pánik a memóriapiacon
- HiFi műszaki szemmel - sztereó hangrendszerek
- Gyors és éles, 120 alatt: Acer Predator XB273K V5
- Monitorkalibráló eszközök
- AMD vs. INTEL vs. NVIDIA
- Milyen notebookot vegyek?
- Mennyibe fog kerülni a Steam Machine?
- Azonnali fotós kérdések órája
- OLED monitor topic
- Ne már! Drágább lesz a GPU a memóriapánik miatt?
Új hozzászólás Aktív témák
-
-
válasz
CPT.Pirk
#1103
üzenetére
az NR<43 sorba rakj egy printf("#"); utasígást, az END blokk elejére meg egy printf("\n");-t
a zárójeleket is ki lehetne találni úgy, hogy csinálsz az elejére begin blokkot, ott kiiratod, de a pontos vezérlőkarakterekre nem emlékszem fejből (ami csak carriage return-t csinál, line feedet nem), valahogy így:
BEGIN { printf ("[ ]\r["); }
-
-
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? -
-
-
-
-
-
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.
-
válasz
CPT.Pirk
#1057
üzenetére
kis olvasnivaló linuxon soros port kezelés
-
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.
-
-
-
-
-
-
válasz
CPT.Pirk
#1045
üzenetére
biztos vagy benne, hogy gawk-ot használsz? mit mutat a
ls -l /etc/alternatives/awk
?a második pastebinben van a 82. sor:
open("0", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
erről nem tudom, hogy jó-e, itt szerintem /dev/ttyUSB0-nak kellene lennie, hacsak az nem egy link.A substr-t tartalmazó sor végére írj már egy printf "%d\n",NR; -t, hogy lássuk, jól számolja-e a sorokat.
-
-
-
-
-
-
-
válasz
CPT.Pirk
#1031
üzenetére
BEGIN { printf ("\x11")>/dev/ttyUSB0; }
NR<41 { a[NR]=substr($0,0,4); b[NR]=substr($0,4,4); }
END {
printf ("\x11')>/dev/ttyUSB0
for(i=1;i<41;i++) printf ("%d,%d,%f\n",a[i],b[i],log(a[i]/b[i])/log(10));
}kb. ennyi. ezt kirakod egy fájlba, majd gawk -f awkfile /dev/ttyUSB0
-
-
-
-
-
-
-
válasz
CPT.Pirk
#1012
üzenetére
nem jól érted. az xon-t neked kell kiadni awk-ból, annak érkezésekor kezdhet el adni az fpga, és adhat mindaddig, amíg nem kap xoff-ot. tehát a gép felől az fpga felé megy az xonxoff és az fpga felől a gép felé menő forgalmat akasztja meg.
az rts/cts szerintem nem hardveres, de a linux driver kezeli. [link]
-
-
-
válasz
CPT.Pirk
#1006
üzenetére
valahol kevered: a és $a is előfordul.
lehet, hogy érdemes lenne eredeti formája szerint bezárójelezni a printf-et:
printf("%d,%d,%f",... ) >>$outputfileigen, ha írsz valamit a kimeneti fájlba >$outputfile alakban, az csonkolni fogja.
viszont ha további feldolgozást fogsz csinálni, akkor a 10-es logaritmust lehet, nem awk-ból kellene csinálnod, nehogy lekésse a beolvasást az awk.
-
-
-
-
-
-
-
válasz
CPT.Pirk
#992
üzenetére
ha awk -f -fel hívod, akkor nem kell az elejére a #! kezdetű sor.
egyébként meg próbáld ki.
de nem a begin blokkba kell megírni az egész awk progit.
a 2d koordinátázást meg úgy érdemes megcsinálni, hogy awk-ból olyan kimenetet csinálsz, amit a gnuplot meg bír enni és akkor összekötöd a kettőt. -
-
válasz
CPT.Pirk
#988
üzenetére
awk ugyanúgy interpreter, mint a shell, nagyjából ugyanúgy is kell használni. lehet parancssori is. pl.
echo 12345678| awk ' {a=substr($0,0,4); b=substr($0,4,4); printf "%d,%d,%f\n",a,b,log(b/a); }'
ezt már variálhatod kedvedre
még annyit, hogy ehhez nem kell cat, az awk meg tud nyitni minden karakteres fájlt (is). tehát egy cat /dev/ttyUSB0 | awk felesleges, jó az awk /dev/ttyUSB0-nak is. -
-
válasz
CPT.Pirk
#984
üzenetére
a szeparáló karakter általában egy jó ötlet, a kérdés, hogy az fpga-t egyszerűbb-e újraprogramozni, vagy a shell szkriptet egyszerűbb mókolni. szerintem a második, de megvárjuk Jester01 kollégát a szokásos sormintáival

sedben pl. annyi, hogy négy darab számot le kell választani egy regexp-pel, valami ilyesmi lehet:
echo 12345678| sed -e 's,\([0-9]\{4\}\)\([0-9]\{4\}\),echo $(( \1 / \2 )),'de lehet awk-ban is és akkor rögtön megcsinálhatja az osztást (a shell egész számokat kezel).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
válasz
Jester01
#935
üzenetére
akkó' most tartsd meg a heti shell szkript oktatásodat

én még sosem próbáltam sorttal ismétléseket keresni, viszont a uniq-nak is meg lehet mondani, hogy hanyadik mezőtől nézze csak az ismétlést.abban igazad van, hogy a uniq előtt nem árt sorbarendezni.
szerk: gnu ps tud magától is sorbarendezni, szóval nem kell sort.
-
-
-
-
-
-
-
-
-
-
válasz
Jester01
#892
üzenetére

a második, az szép... ascii art kick járna érte a régi ircen

egyébként én is valami hasonlóra jutottam a guglizás során, hogy printf "%d.%d...." és stringműveletekkel szedem szét a mac-et, de azt nem láttam, hogy a hex-dec konverziót a shell végzi, nem a printf, ezért nem kell printf.
szép

-
az első, hogy amit zárójelek közé raksz, azt a sed egy csoportként kezeli, és \sorszám formában lehet rá hivatkozni. de mivel itt a zárójel nem szöveg, hanem vezérlőjel, ezért visszaperrel "eszképelni" kell.
a csoporton belül meg annyi van, hogy a kalap^ negál, tehát bármi, ami nem mögötte van, konkrétan most szóköz, tehát bármi, ami nem szóköz, a * miatt ebből tetszőleges mennyiség. utána berakjuk azt a mezőelválasztó szóközt, amit említettél a feladatban, majd ezt ismételjük a szükséges darabszámszor. a végén pedig \1 \2 stb. formában előszedetjük a sed-del, amit az adott csoportra rá tudott húzni.
-
itt az ideje, hogy megint tanítsatok nekem valamit

egy fájlban ethernet címek vannak, amit greppel válogatok. ami kijön a csőből, azt át kellene alakítani pontokkal elválasztott tizes számrendszerbeli alakra. a nyelv bash.
tehát jön egy:
00:1A:AD:7A:13:44 string az inputon, vagy ugyanez kisbetűvel, és kellene belőle egy 0.26.173.122.19.68 string.tia
-
nem írom le a megfejtést, mert sorminta lenne belőle, de kb:
sed -e 's/\([^ ]*\) ...
ez a fordított per zárójel kockazárójel kalap szóköz kockazárójel * fordítottper zárójel majd utána egy szóköz, ebből rakjál egymás után annyit, ahány oszlopod van.
majd erre a \1 \2 \3 \5 \4 formában lehet hivatkozni a sed-ben.
tehát ilyesmi:
sed -e 's/a fentiek/\1 \2 \3 \5 \4/' -
#! /bin/bash
for i in $(seq 1 179); do
date +"%Y.%m.%d %H:%M:%S" >> /tmp/sensor
cat /media/sensor/10.*/temperature >> /tmp/sensor &
sleep 20
done
wait
cat /tmp/sensor >>oraimentes.txt/media/sensor/10.*/temperatureilletve lehet közvetlenül abba a fájlba tenni, ami a végleges helye.
fájlnévben is működik a parancsbehelyettesítés, pl:cat /media/sensor/10.*/temperature >>/var/log/sensorok/$(date '+%h%m')/oralog.txt
-
nem, nem hatékony, egy felesleges ls-t forkolsz, van benne egy felesleges processz helyettesítés.
szerintem a cat /media/temp/10.*/temperature is működne.
a 20 másodpercre azt javaslom, hogy cronból indítsd 5 percenként, és benne legyen egy ilyen ciklus:
for i in $(seq 1 15); do
cat ...
sleep 20
donea dátumra meg a sorokra tördeléshez esetleg sed.
-
-
-
-
-
ezt próbáld meg kipofozni:
-exec cp -p {} /tmp/$(echo {} | sed ...)
szerintem nem kell a sed köré a {}, viszont kell egy parancshelyettesítés, ami mostanában $( ) (nem aposztróf, mert az obsoloted), és úgy láttam, hogyha többször írod a {}-t, akkor a find mindegyiket helyettesíti, ezért lehet egy echo {}-val etetni a sedet.
-
de azzal, hogy forkolsz egy sed-et bemenet nélkül, mi a célod?
másrészt meg a nevet aposztrófok közé kell tenni, nem idézőjelek közé, mert különben a shell kifejtheti.
szerintem valami ilyesmit kellene:
find . -name '*.aod'| sed -e 's,.*,cp & /uj/konyvtar/&,' -e 's,.aod$,.AOD,' | sh -
első ránézésre a páratlan aposztróf biztos gond, az y/aod előtti aposztrófnak nem látom a párját.
szerk:
második ránézésre a sed szabvány bemenetén várja a szerkeszteni valót, így az a sed nem tudom, honnan kapna adatot.harmadik ránézésre a -iname *.aod-ban a *.aod-ot mindenképpen aposztrófok közé tenném, mert ha az aktuális könyvtáradban van egy aod nevű fájl, akkor a shell helyettesíteni fogja a nevét.
-
ez kernel paraméter.
a parancssor teljes méretét a getconf ARG_MAX mondja meg, ebből még le kell vonni a környezet méretét (env | wc -c)azt nem tudom, darabszám limitáció van-e, a fenti az csak méret limitáció.
ha túl sok a paraméter és attól félsz, hogy ezért kiakad, akkor xargs manual olvasgatása segít
-
-
-
-
-
-
ez nic függő, van, amelyik nic tud válaszolni rá, a többség nem.
(#839) sh4d0w: pont erről van szó, attól, hogy az interrupt rendszer egy része meg a kernel maga él, az userland lehet döglött.
azon agyalok, hogy rakok fel ospf-et mindenhova és akkor ha van route, jó, ha nincs route, nem jó.
-
-
-
-
-
-
egy szkriptben szükségem lenne annak megállapítására, hogy egy hoszt él (elérhető-e) vagy sem.
érdekelne, ti hogy csinálnátok meg? -
Új hozzászólás Aktív témák
- Pánik a memóriapiacon
- Bittorrent topik
- Windows 11
- Proxmox VE
- Mesterséges intelligencia topik
- Pécs és környéke adok-veszek-beszélgetek
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- HiFi műszaki szemmel - sztereó hangrendszerek
- 8000 mAh-s aksi a Kínában most bemutatott Honor 500-akban
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- További aktív témák...
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 12 Mini 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3644, 100% Akksi
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3962, 100% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 1TB SSD
- iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3086, 100% Akkumulátor
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest





