Új hozzászólás Aktív témák
-
bambano
titán
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["); }
-
bambano
titán
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? -
bambano
titán
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.
-
bambano
titán
válasz
CPT.Pirk #1057 üzenetére
kis olvasnivaló linuxon soros port kezelés
-
bambano
titán
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.
-
bambano
titán
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.
-
bambano
titán
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
-
bambano
titán
-
bambano
titán
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]
-
bambano
titán
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.
-
bambano
titán
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. -
bambano
titán
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.
-
bambano
titán
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).
-
-
bambano
titán
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.
-
bambano
titán
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
-
bambano
titán
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.
-
bambano
titán
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
-
bambano
titán
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/' -
bambano
titán
#! /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
-
bambano
titán
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.
-
bambano
titán
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.
-
bambano
titán
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 -
bambano
titán
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.
-
bambano
titán
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 -
bambano
titán
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ó.
-
bambano
titán
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? -
-
bambano
titán
bash man:
{ list; } list is simply executed in the current shell environment. list must be terminated with a newline or semicolon. This is known as a group command. The return status is the exit status of list. Note that unlike the metacharacters ( and ), { and } are reserved words and must occur where a reserved word is permitted to be recognized. Since they do not cause a word break, they must be separated from list by whitespace or another shell metacharacter.
Új hozzászólás Aktív témák
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Milyen okostelefont vegyek?
- 3D nyomtatás
- Lexus, Toyota topik
- Motorola Edge 40 neo - színre és formára
- sziku69: Fűzzük össze a szavakat :)
- btz: Internet fejlesztés országosan!
- Bluetooth hangszórók
- PlayStation 4
- Miért vezet mindenki úgy, mint egy állat?
- További aktív témák...
- Antivírus szoftverek, VPN
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- BESZÁMÍTÁS! 6TB Seagate SkyHawk SATA HDD meghajtó garanciával hibátlan működéssel
- 100 - Lenovo Yoga Pro 9 (16IRP8) - Intel Core i9-13905H, RTX 4070 (ELKELT)
- Bomba ár! Lenovo IdeaPad V110 - i3-6GEN I 4GB I 128GB SSD I 15,6" I HDMI I Cam I W10 I Garancia!
- BESZÁMÍTÁS! Gigabyte A620M R5 7600 32GB DDR5 512GB SSD RTX 4070 12GB ZALMAN S2 TG EVGA 650W
- iKing.Hu - Apple iPhone 14 Pro Max - Gold - Használt, szép állapot
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest