- Nvidia GPU-k jövője - amit tudni vélünk
- HiFi műszaki szemmel - sztereó hangrendszerek
- Fujifilm X
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Ismét a Gigabyte alaplapjaival van az Erő
- Azonnali VGA-s kérdések órája
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- AMD Navi Radeon™ RX 9xxx sorozat
- Milyen házat vegyek?
- Vezetékes FEJhallgatók
Új hozzászólás Aktív témák
-
szuszinho
őstag
Sziasztok,
A következő scriptet hívom meg cron segítségével, de csak a tömörített fájl jön létre. A törlés sosem, még
-delete
kapcsolóval sem:#!/bin/bash
d=$(date +%Y_%m_%d)
zip -r /path_$d.zip /ezt/
find /path -type f -mtime +15 -exec rm {} \;
-
Ez miért van így, és hogyan lehetne megoldani? Hiszen végeredményben a "continue" egy while loop-ban van, nem is csak egy if szerkezetben.
A példascript:
#!/bin/bash
func() {
ls /tmp/eznincsitt || continue
}
while true; do
if [ "1" -eq "1" ]; then
func
fi
exit
done
bash -x futtatás eredménye:
+ true
+ '[' 1 -eq 1 ']'
+ func
+ ls /tmp/eznincsitt
ls: cannot access '/tmp/eznincsitt': No such file or directory
+ continue
/tmp/test.sh: line 4: continue: only meaningful in a `for', `while', or `until' loop
+ exit
-
Penty
aktív tag
válasz
bambano #2898 üzenetére
...a tartalmát minden nap áthelyezem egy "archiv" mappába. A mappa neve, amibe áthelyezem az aktuális dátum.
PL:
/media/backup/winscp/trash
/media/backup/winscp/trash_archive/20240628Nekem ebből az jön le, hogy ez nem archívum, hanem egy sima mappa, aminek a trash_archive nevet adta és ezen belül vannak a 20240628, 20240629 stb. nevű almappák és aztán azon belül az aktuális nap trash mentései, akár valami tar.xz, akár csak simán átmásolva, akár más egyéb formában. Így működik az általam vázolt script, mivel törli a legkisebb nevű, vagyis a legrégebbi mappát, benne a cuccokkal.
De lehet, hogy én értelmeztem félre a dolgot, ez esetben elnézést.
-
Penty
aktív tag
válasz
kovbandi82 #2887 üzenetére
Ha jól látom, a trash_archive/ mappában lévő dátum nevű mappanevek lényegében emelkedő számok (és feltételezem, hogy csak ezek vannak benne):
20240625
20240626
20240627
stb.
Megpróbálhatod egyszerűen csak megszámoltatni és az első 14 legnagyobb nevűt megtartani, majd a legkisebb számút (a legrégebbit) mindig töröltetni egy scripttel.COUNT=$(find /media/backup/winscp/trash_archive/* -type d | wc -l)
OLDEST=$(find /media/backup/winscp/trash_archive/* -type d | head -1)
if [ $COUNT -gt 14 ]
then
rm -rf $OLDEST
else
:
fiIntegráld bele a mentés scripted elejére a fentit. Ha jelenleg kevesebb mint 14 mentésed van, akkor nem fogja 14 (két két) fölé engedi a mentések számát. Ha több, akkor a script csak egyet fog törölni a pl. 35-ből, így elsőnek törölnöd kell kézileg pár mentés mappát, hogy 14 alá csökkenjen a számuk.
-
bambano
titán
válasz
kovbandi82 #2893 üzenetére
valami ilyesmivel próbálkoznék első körben (nyilván még csiszolsz rajta, mielőtt végleges lesz):
for i in $(seq 15 45); do
trdir=$(date '+trash_archive/%Y%m%d' -d "${i} days ago")
[ -d $trdir ] && rm -rf $trdir
done
én visszamennék több napot annak érdekében, hogyha véletlenül nem fut le a szkript (ki van kapcsolva a gép, stb) akkor később azt is letörölje.
vagy a könyvtár kreálásakor betenném rögtön betenném a törlést az at queue-ba, oszt jónapot
de lehet olyat, hogy megmondod a find-nek, hogy csak könyvtárakat keressen, és akkor az megoldja. könyvtár + régebbi, mint két hét + név illeszkedik, az már elég pontos lenne.
-
kovbandi82
őstag
válasz
bambano #2888 üzenetére
A releváns idő, amikor a törlést meg szeretném csinálni, az a mappa létrhozása lenne, mert a benne lévő fájlok sokszor régebbiek is lehetnek, és akkor azt is törölné, amit mondjuk tegnap került oda.
Amit írtál, az megoldás lenne, hogy az X idővel előtti dátumhoz tartozó mappát törölje, azt megpróbálom. -
bambano
titán
válasz
kovbandi82 #2887 üzenetére
lehet bonyolítani a kérdést a dátumokkal, én nem tenném.
elvileg tudsz olyat, hogy adja meg az x idővel ezelőtti dátumot és az ahhoz tartozó mappát törölni.én azt csinálnám, hogy a find utasítás tud creation meg access time szerint keresni, megkerestetném az összes fájlt, ami régebbi, mint két hét, letöröltetném, és utána legyalulnám az üres könyvtárakat.
lehetséges megoldás még, hogy naponta áthelyezed egy olyan mappába, aminek a nevében a nap benne van, és akkor egy hónap után simán felülíródik és nem kell vele foglalkozni.
-
kovbandi82
őstag
Sziasztok. Adott egy Raspberry PI4 Raspberry OS-el (debian bookworm)
Scriptben szeretném a segítségeteket kérni. Adott a winscp "trash" mappa, aminek a tartalmát minden nap áthelyezem egy "archiv" mappába. A mappa neve, amibe áthelyezem az aktuális dátum.
PL:/media/backup/winscp/trash
/media/backup/winscp/trash_archive/20240628
Az archiv mappákat szeretném X idő után (legyen pl. 2 héz) törölni tartalmával együtt. Lenne egy olyan script, ami megvizsgálja a mappák létrhozásának a dátumát, és törli, ha régebbi a beállított időnél?
A másik gondom, hogy a samba pi felhasználóval van felcsatolva, viszont pl. ha egy fájl az ftpuser "tulajdona", ahhoz ugye nem fér hozzá, nem tudom törölni. A pi usert beraktam az ftpuser csoportba, de akkor sem. Hogy tudnám ezt kivitelezni, hogy a pi usernek legyen jogosultsága az ftpuser fájlaihoz is? -
vargalex
félisten
válasz
galaxy55 #2884 üzenetére
Egy nagy file-nál már van értelme. Csináltam egy 15000000 soros teszt file-t (egy sql script tartalmát többszöröztem), 1,5 GB lett (nvme ssd-n van a file):
[gavarga@gavarga-5500 migration]$ time awk '/Foglal/' test.sql > /dev/null
real 0m2,711s
user 0m2,493s
sys 0m0,214s
[gavarga@gavarga-5500 migration]$ time grep Foglal test.sql > /dev/null
real 0m0,005s
user 0m0,001s
sys 0m0,005sItt mondjuk valószínűleg túl okos a rendszer, ezért valójában lehet, hogy nem is történik grep.
File-ba írással:
[gavarga@gavarga-5500 migration]$ time awk '/Foglal/' test.sql > test_awk.result
real 0m2,782s
user 0m2,515s
sys 0m0,214s
[gavarga@gavarga-5500 migration]$ time grep Foglal test.sql > test_grep.result
real 0m1,032s
user 0m0,901s
sys 0m0,130sA 2 file természetesen azonos lett:
[gavarga@gavarga-5500 migration]$ sha256sum test_*
c8aa4496d92f75d57b66b0148de6ba5247c3dd7000707d5107f01283fa8246bc test_awk.result
c8aa4496d92f75d57b66b0148de6ba5247c3dd7000707d5107f01283fa8246bc test_grep.result -
vargalex
félisten
válasz
galaxy55 #2881 üzenetére
Már lemaradtam a szerkesztésről: a
busybox
és így az abban lévőawk
a routerén van, nem windows alatt... Windows alatt GNU awk van nála. -
vargalex
félisten
válasz
vargalex #2880 üzenetére
Van egy Windows 7-em virtuális gépben. Arra felraktam a gawk for windows és a grep for windows gnuwin32 alkalmazásokat. Az awk verziója:
D:\>awk --version
GNU Awk 3.1.6
Copyright (C) 1989, 1991-2007 Free Software Foundation.A grep verziója:
C:\>grep --version
GNU grep 2.5.4
Copyright (C) 2009 Free Software Foundation, Inc.Az escape-os verzió tökéletesen működik:
D:\>grep "^CLIENT_LIST" status.txt | awk -F, "{print sprintf(\"%-23s%-25s%-20s%s
\",$8,$3,$10,$13)}"
2024-06-25 23:53:12 192.168.1.111:40175 joskapista AES-256-GCM
2024-06-25 23:53:12 192.168.1.10:40175 gizi AES-256-GCM
2024-06-25 23:53:12 192.168.1.2:40175 nagyonhosszunevu AES-256-GCMSzerk.:
#2881 galaxy55: igen, ezt olvastam és ezért én tegnap raktam fel egy OpenVPN-t a windows 7 virtuális gépre, de az nem rakott fel sem grep-et, sem awk-t. -
vargalex
félisten
válasz
galaxy55 #2877 üzenetére
Windows hiányában nekem más ötletem nincs. A probléma ugye az, hogy a Windows-os awk az aposztrófot nem eszi meg, az idézőjelet pedig awk-n belül nem a fenti módon lehet escape-olni (ha egyáltalán lehet). A tabulátor sajnos nem jó megoldás, mert a nagyon különböző hosszúságú értékek esetén el fog csúszni. A hossztól függően kellene 1, vagy 2 tabulátort tenni.
-
vargalex
félisten
Nincs windows-om, de talán még ezzel próbálkoznék:
grep "^CLIENT_LIST" status.txt | awk -F, "{print sprintf(\"%-23s%-25s%-11s%s\",$8,$3,$10,$13)}"
A cat-ot kivettem, mert teljesen felesleges subprocess lesz belőle.
Ha nem megy, akkor a következőt tedd be pl. egy
script.awk
nevű file-ba:{print sprintf("%-23s%-25s%-11s%s",$8,$3,$10,$13)}
Majd a futtatás:
grep "^CLIENT_LIST" status.txt | awk -F, -f script.awk
-
vargalex
félisten
válasz
bambano #2855 üzenetére
A routeren busybox-os awk-s parancsa fut le rendben...
#2851 tjsz: Egyébként én is az idézőjelekre gondolok (a külsőt én is aposztrófra cserélném), illetve ahogy a kolléga írja, egyetlen printf is elég az awk-ban. Egyébként ha az AWK már szétbontja oszlopokra, akkor minek egyáltalán printf és oszlop szélesség igazítás? Nem elég így:
cat status|grep "^CLIENT_LIST"|awk -F, '{print $8, $3, $10, $13}'
-
bambano
titán
válasz
Fecogame #2852 üzenetére
egyébként itt most az a feladat, hogy ezt az awk-s programot megjavítsuk, vagy az, hogy megoldjuk a problémát?
mert ha a problémát meg kell oldani, akkor először teszteld le, hogy a busyboxos printf tud-e ilyen formátumot, és ha igen, akkor kezdd azzal, hogy kihajítod az awk-t. -
-
tjsz
senior tag
válasz
Fecogame #2852 üzenetére
Sajnos erre is hibát ad.
-W version-re az egyik azt írja, hogy "Gnu Awk 3.1.3"
A másiknál pedig:
root@Router:/tmp/home/root# awk -W version
awk: warning: option -W is ignored
BusyBox v1.36.1 (2023-09-09 05:54:41 CEST) multi-call binary.Usage: awk [OPTIONS] [AWK_PROGRAM] [FILE]...
-v VAR=VALSet variable
-F SEPUse SEP as field separator
-f FILERead program from FILE
root@Router:/tmp/home/root# -
tjsz
senior tag
Sziasztok!
Van egy script-em, ami a status file-ból a megfelelő oszlopokban lévő adatokat listázza (oszlopok hossza is be van állítva):
cat status|grep "^CLIENT_LIST"|awk -F, "{print printf("%-23s",$8), printf("%-25s",$3), printf("%-11s", $10), $13}"
Ugyanezt végre akarom hajtni Win10 alatt (OpenVPN-hez adott cat-tal, grep-pel és awk-val), de ott hibát ad:
awk: cmd. line:1 '{print
awk: cmd. line:1 '{print ^ invalid char ''' in epressionHa ezt akarom végrehajtani:
cat status|grep "^CLIENT_LIST"|awk -F, "{print sprintf("%-23s",$8), sprintf("%-25s",$3), sprintf("%-11s", $10), $13}"akkor pedig ezt kapom:
-25 -11 oszlop13
Ez miért van? Nem teljesen kompatibilis a linux-os és a windows-os awk?
-
-
Nem tudom hogy működik ez a githubosdi.
EasyRöviden:
1., Belépsz a github fiókodba
2., Megnyitod a projektben azt a fájlt, amit magadnál is szerkesztettél. Ez esetben ezt
3., Jobb felül "ceruza", mintha szerkeszteni akarnád
4., Forkolod a repot magadhoz
5., Megszerkeszted a fájlt, majd elmented
6., Beküldöd a pull requestet
7., Kész -
válasz
#79484416 #2847 üzenetére
Igen a bmdhd.sh szkriptet maszírozom.
Valóban volt benne valami"plusz", Domonkos tippjével kiszűrtem hogy csak a számjegyek maradjanak benne, és így már nem futott hibára.
Viszont itt-ott módosítani kellett, mert valahogy mésképpen értelmezte a kapott adatokat. Tippem szerint a "magnó" kapott pár verziófrissítést az évek alatt, és a válaszok is módosultak itt-ott. pl. a current_time adatai között nincs is ; ,így nem is értem mit csinál a. végén a cut -d';' -f1.
Került bele "túlcsordulás" ellenörzés, mert néha -1mp lett a vége, szóval a menet közben felmerülő problémákat javítgatom.
Lassan már csak a kód kicsinosítása van hátra a publikálás elött. Megpróbálom a pull request-et, bár lehet egyszerübb lenne forkolni, mert közben a html kódon is módosítottam, hogy eltüntesse a böngésző görgetősávjait, így F11-el teljes képernyős módban tisztára natív program kinézete van. A szerző nem reagált a kérdésemre(issue). Lehet "abadonware"? Nem tudom hogy működik ez a githubosdi.Mindenkinek köszönöm segedelmet, és okítást!
-
-
Ami fura hogy az echo "${clip_id}" kiírja, hogy 65 (a 65. track-en ál a magnó), de a
total_time=$(echo "$lines" | sed -n "${clip_id}p")
sorra meg panaszkodik, hogy
”ed: -e kifejezés #1, karakter 3: ismeretlen parancs: „
Ha azt írom be, hogy
total_time=$(echo "$lines" | sed -n "65p")
akkor meg rendben kiírja a 65. track hol kezdődik.
Szóval tuti valami szintaktikai hiba, de nem bírok rájönni hogy hol csúszik el a dolog. -
válasz
dabadab #2839 üzenetére
A grep nem jó, mert a $lines már csak az időpontok listáját tartalmazza, ezért nem lehet rákeresni a clip_id alapján. Tehát a $lines tartalma csak a kezdési időpontot tartalmazza (mint a kazettás magnóknál a számláló állás)
00:00:00:00
00:02:48:00
00:03:28:16
00:06:08:20Ennek a listának az x.edik ($clip_id) elemére vagyok kíváncsi.
Vagyis ha a $clip-id 1, akkor a $total_time értéke 00:00:00:00. Ha a $clip_id értéke 2, akkor a $total_time értéke 00:02:48:00 kellene, hogy legyen.Fecogame
Bár már ott tartanék -
válasz
dabadab #2839 üzenetére
Ahaa.... Akkor maga a koncepció működhetne, mert a $output egy "lista" ami minden egyes klip kezdő időpontját mutatja, vagyis attól függően lista/felsorolás, hogy ""-be teszem-e a $lines változót (ezt se nagyon értem, hogy mitőll lesz lista, vagy szóközzel elválasztott felsorolás)
És ennek a listának clip_id által mutatott sorszámát kellene visszaadni, de valamiért üres értéket kapokKöszi! Holnap ki is próbálom.
-
dabadab
titán
A sed {} paraméteréről nem sokat találtam
Mert az nem is a sednek szól, a
sed -n "${clip_id}p"
először átmegy a bashen, ami a${clip_id}
-t kicseréli a clip_id változó tartalmára. Viszont ennek így semmi értelme, mert ott a sed egy sorcímzést várna, a clip_id meg nem az, hanem valami string és azokatr a sorokat akarjuk, amiket az tartalmaz.
Cseréld ki a sedes részt egy grepre. A -F azért kell, hogy a clip_id-t ne akarja regexpként értelmezni, csak sima, szó szerinti stringkét, így pl. a pontok meg hasonlók nem okoznak bajt:total_time=$(echo "$lines" | grep -F "${clip_id}" |cut -d';' -f1)
-
A másik topik, kicsit halott, szóval itt próbálkoznék:
Van egy egyszerűnek tűnő projekt, ami már a bash scriptnél elakad:
Az output-ba összegyűjti a tartalomjegyzéket, és az aktuális klipp adatait.# Összegyűjti azokat az időpontokat, hol kezdődnek a klippek, szóközzel elválasztva
lines=$(echo "$output" |grep .mov |cut -d' ' -f3)
# Kiolvassa az aktuális klip sorszámát
clip_id=$(echo "$output"|grep 'clip id'|cut -d' ' -f3)
# Kiolvassa hol tart a lejátszás
current_time=$(echo "$output" |grep 'display timecode:' |cut -d' ' -f3|cut -d';' -f1)
# Ez elméletileg a klip kezdési időpontját adja meg
total_time=$(echo "$lines" | sed -n "${clip_id}p" |cut -d';' -f1)
Ez utóbbival van problémám, mivel nem kap értéket a total_time. Per pillanat ötletem sincs, hogy miért. A sed {} paraméteréről nem sokat találtam. Van valami ötlet pontosan mit csinál ez és miért nem adja vissza az időt?
Saját kútfőből próbáltam máshogy elérni a célt és eddig jutottam:total_time=$(echo $lines | cut -d' ' -f 39)
Ez visszaadja a 39. track kezdés időpntját, de itt is elakadtam.
Atotal_time=$(echo $lines | cut -d' ' -f $clip_id)
nem hozott jó eredményt valami \r-re panaszkodik.
Konkrét szám helyett hogy helyettesítsem a $clip_id-vel?
Azecho "lines: " $lines
echo "clip id: $clip_id"
echo "current_time: $current_time"
echo "total time: $total_time"
Kimenetelines: 00:00:00:00 00:02:48:00 00:03:28:16 00:06:08:20 00:09:42:24 00:11:48:09 00:16:04:14 00:18:57:15 00:22:25:13 00:23:08:16 00:23:51:14 00:24:13:12 00:27:16:00 00:30:37:00 00:34:51:13 00:37:14:16 00:39:50:09 00:43:54:11 00:47:19:14 00:48:03:02 00:48:37:01 00:52:35:23 00:55:44:00 00:57:37:07 01:00:30:10 01:03:29:00 01:07:13:03 01:10:47:06 01:14:17:01 01:16:30:19 01:20:26:13 01:22:44:19 01:26:49:20 01:29:26:24 01:32:20:12 01:33:56:08 01:34:34:09 01:38:39:15 01:38:47:12 01:56:52:15 01:56:54:12 02:13:08:22 02:13:44:17 02:15:51:10 02:18:30:10 02:20:35:10 02:22:29:00 02:24:52:01 02:28:14:06 02:31:09:16 02:34:12:04 02:37:51:09 02:39:55:15 02:40:05:14 02:40:35:14 02:41:05:14 02:42:25:14 02:43:12:08 02:49:22:16 02:52:07:03 02:53:59:17 02:55:01:04 02:57:02:12 02:57:54:19
clip id: 39
current_time: 01:45:09:07
total time: 01:38:47:12
-
ksh-ban hogy lehet dinamikus nevű változót létrehozni/használni? Bash-ban így működik, de ksh-ban nem, és nem találtam rá megoldást:
# cat test.sh
#!/bin/bash
a_2014='hello 2014'
year=2014
varname=a_${year}
echo ${!varname}
# ./test.sh
# hello 2014
-
Penty
aktív tag
Sziasztok!
Van egy szöveges fájl, benne dátumok, mögöttük feljegyzések, kb. így:2023-02-23 Valami szöveg a múltból
2023-02-28 Valami szöveg a múltból
2023-03-02 Valami szöveg a múltból
2023-03-15 Valami szöveg a múltból
2023-04-28 Valami szöveg a múltból
2023-05-20 Valami szöveg a múltból
2023-05-28 Mai napi szöveg
2023-06-01 Jövőbeni szöveg
2023-06-03 Jövőbeni szövegCsinálnék egy scriptet, ami a múltbéli sorokat törli a fenti fájlból. Eddig jutottam:
#!/bin/sh
NOTES=~/teszt
A=$(date --date="$(awk 'NR==1{print $1}' $teszt)" +%Y%m%d)
B=$(date +%Y%m%d)
if [ "$A" -lt "$B" ]; then
sed -i '1d' $teszt
elif [ "$A" -eq "$B" ]; then
notify-send "$(awk 'NR==1{print}' $teszt)"
else
notify-send "Üresjárati nap"
fiHa lefuttatom a scriptet, szépen kitöröl egyet a régmúlt dátumú sorok közül, ha sokszor futtatom, akkor előbb-utóbb elfogynak a régi bejegyzések, és a két notify-send sor valamelyikét fogja lefuttatni attól függően, hogy van-e mára valami feljegyzés, vagy nincs.
Hogyan lehetne megoldani azt, hogy csak egyszer kelljen a scriptet futtatni, de akkor az összes régi dátumot kitörölje? Gondolom valami while read line; do bla-bla; done kellene, de kicsit belebonyolódtam. -
zsolti.22
senior tag
válasz
Jester01 #2823 üzenetére
Nem áll össze fejben egyelőre és én sem fogalmaztam pontosan. Amit ő írt, annak tudjuk, hogy 4 eleme van és tudjuk, hogy mik az értékei, csak egymás után kell rakni őket egy szeparátorral.
Az előző hszemben pontosítottam: egy while loopban ismétlek egy HTML lekérdezést és egy bizonyos regexppel sed segítségével változóba mentem az értéket. Ez volt a VAR1 mondjuk. És ebből a VAR1-ből hogy lesz for ciklus ahhoz, hogy pseudo-tömb legyen, ha a következő while ciklusban felülíródhat a VAR1 értéke?Kódban, ha akinek így könnyebb (csak szemléltetés végett):
#!/bin/ash
while [ feltetel]
do
curl http://valami.html -o valami. html
VAR1=$(sed - rne 's#. *(regexp). *$#\1#p valami. html)
if [ -n "$VAR1" ]
then
ide kellene a tömbkezeles
fi
done
-
zsolti.22
senior tag
válasz
dabadab #2821 üzenetére
Aha, asszem javítanom kell a specifikációmat....(egyébként nekem a \n megmaradt ebben a valójában és nem alakult át enterré, ahogy azt vártam).
Hogy nézne ki a script, ha nem tudom, hogy hány eleme lesz a tömbnek és azt sem, hogy mik lennének az elemei?
Amihez kellene, az az, hogy egy while loopban sed-del kiszedem egy HTML oldal egy bizonyos értékét, amit változóba mentek, legyen VAR1. Szóval a tömb aktuális tartalma mindig ez a VAR1 mögötti érték, de hogy hány ilyen lesz még és mi lesz a tartalma, azt nem tudni előre, viszont jó volna összeszámolni, hogy hányszor sikerült tartalmat kiszedni és hogy mi volt konkrétan a VAR1 értéke és ezeket egymás alá-mellé tenni (IFS-től függően), mint ahogy az első hsz-emben a TOMB-ben. -
zsolti.22
senior tag
Sziasztok!
Ha ash-ban adott egy tömb és ennek a tömbnek az egyes elemeit ezzel a modszerrel olvasom ki...
#!/bin/ash
init_array() {
SZ=0
eval ARR=\$${VAR}
for i in $ARR; do
eval "$VAR$SZ"='$i'
SZ=$(( SZ + 1 ))
done
eval ${VAR}_SZ=$SZ
}
TOMB="
bla
blabla
blablabla
aabblaba
masik blalblalal
sokadik blalblala
"
IFS=$'\n'
VAR="TOMB"; init_array
for i in $(seq 1 $TOMB_SZ)
do
echo "$(eval echo \$TOMB$i)"
done
exit 0
...akkor hogy csinálom meg a fordítottját, azaz hogyha megvannak az elemeim, de van egy üres TOMB változóm, és ezeket az elemeket szeretném a TOMB "alá" bevinni \n-t használva szeparátorként?
-
fatpingvin
addikt
válasz
arcoskönyv #2818 üzenetére
ok
-
fatpingvin
addikt
válasz
arcoskönyv #2816 üzenetére
...amik ugyanazt az interfészt használják mint az ulimit...
-
fatpingvin
addikt
válasz
arcoskönyv #2814 üzenetére
-
Ezt most nem értem... Szeretném egy változót ellenőrizni, hogy tartalmazza-e a "https" részt.
#!/bin/sh
VAR="https://barmilyenurl.com"
[ "$VAR" = *"https"* ] && echo "VAR tartalmazza ezt: https"
A kimenet mégis üres. Miért?
-
lombika
csendes tag
Sziasztok
Kis segítséget szeretnék kérni adott egy printserver, amiröl powershell parancsal szeretném lekérni , csak az online pingre válaszoló nyomtatókat , ipcimmel és megosztási névvel, és kiiratva egy txt be v csv beip . Ip tartomany 239,252,254,255,253 ezekböl az összesröl.
Ebben tudtok segíteni ? Milyen parancsal lehet ?Köszi
-
Jester01
veterán
8 bites bináris számot kellene kiírni (rajzolni) csillag és szóköz formában bash beépített dolgok használatával. Jelenleg ez van:
for((i = 128; i != 0; i >>= 1))
do
[[ $((x & i)) != 0 ]] && echo -n '*' || echo -n ' '
done
Viszont nem tetszik, hogy duplán van benne az echo.
Létezik ugyan ?: operátor de az csak számokra működik pedig egy x & i ? '*' : ' ' pont tökéletes lenne. Lehetne indexelni stringet vagy tömböt, de ezeket előzőleg definiálni kell, pl.:chars=' *'
echo -n "${chars:$(((x & i)?1:0)):1}"
Egyéb ötlet?
Ui.: jót nevettem amikor a script másik részében leírtam, hogy ${rom##*!!?} Ránézésre ki hinné el, hogy ennek van értelme
-
dabadab
titán
válasz
bambano #2799 üzenetére
Ez nem fork bomb, ahhoz az kellene hogy rengeteg új processzt hozzon létre, de nem tesz ilyet: megvárja, amíg az első sftp befejeződik és csak utána indítja a másikat.
Ettől persze ez még így lassú meg nem hatékony, de nem fork bomb.
A klasszikus minimálforkbomb az pl ez (kedves errejárók, ne próbáljátok meg végrehajtani, mert lefagyhat tőle a gépetek)::(){ :|:& };:
Új hozzászólás Aktív témák
Hirdetés
- Csere-Beszámítás! RTX Gamer Számítógép PC Játékra! I5 12400F / RTX 3070 / 32GB DDR4 / 1TB SSD
- Dell Latitude 8-11. gen i5, i7, 2-in-1 szinte minden típus csalódásmentes, jó ár, garancia
- Napi 700 ft tól elvihető RÉSZLETRE BANKMENTES HP 840 G11 Ultra 5
- BESZÁMÍTÁS! GIGABYTE B450 R7 5700X 32GB DDR4 512GB SSD RX 6700XT 8GB COOLER MASTER CMP 510 CM 750W
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged