Új hozzászólás Aktív témák
-
-
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.
-
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
-
-
-
válasz
f_sanyee #2783 üzenetére
Megosztanád velem?
Eddig olyat találtam, hogy
find /ut/vonal/ ! -name '*01.tar' -mtime +7 -exec rm {} \;
Elméletileg ez nem törli a hónap első napját, és megtartja az utolsó hét napot. Igazából nem ragaszkodom a heti mentések megtartásához, legfeljeb nem az utolsó 7 napot, hanem az utolsó 30 napot tartom meg, és minden hónap 1-jét. -
Eljutottam odáig, hogy szépen összeszedi az aktuális mentéshez tartozó fájlokat, és becsomagolja egy tar fájlba úgy, hogy ÉV/HÓNAP/mentésdátuma.tar szerkezetbe készíti a .tar fájlt, majd ha ez sikerült akkor törli a feltöltött fájlokat.
Ezúton is köszönöm az okításomat!Mivel egy hónap ~500GB helyet foglal, arra gondoltam, hogy a .tar fájlokból törölje ami egy hétnél régebbi, de maradjon meg egy heti, egy havi és egy évi mentés.
Így nem kellene kézzel "gyomlálni", de ha kell akkor megvan az utolsó hét nap, és minden hét, hónap, év 1. mentése.Létezik ilyen trükkös keresés/törlés?
-
-
válasz
fatpingvin #2777 üzenetére
Persze. A .tar fájlban benne van az összes tegnapi dátumú fájl.
-
-
Mindenkinek nagyon köszönöm a segítséget, ötleteket! Végül ez lett belőle:
#!/bin/bash
tegnap=$(date --date="yesterday" +'%Y-%m-%d')
mentesdir=$(date --date="yesterday" +'/volume1/homes/Tamas/backup/%Y/%m/%d')
[ -d $mentesdir ] || mkdir -p $mentesdir
find /volume1/homes/Tamas/backup/archivum -maxdepth 1 -mtime -2 -mtime 1 -type f -exec tar -cf $mentesdir/archivum$tegnap.tar {} +;
find /volume1/homes/Tamas/backup/www -maxdepth 1 -mtime -2 -mtime 1 -type f -exec tar -cf $mentesdir/www$tegnap.tar {} +;
Időzítve minden nap lefut egy Synology NAS-on.
A tegnapi nap szűrésével kapcsolatban vannak fenntartásaim, de ha beválik a akkor beleteszek egy törlést is a végére. Az && itt működhet?-exec tar -cf $mentesdir/www$tegnap.tar {} && rm {}+;
-
-
válasz
bambano #2769 üzenetére
Tyűha! Ez is felvetett pár kérdést.
pl. a [ -d $mentesdir ] || mkdir -p $mentesdir sor eleje mit csinál?Vagyis elég Headless megoldásában az utolsó sort módosítani?
find "$dir" -maxdepth 1 -mtime -1 -type f -exec tar cf $previousdaydir/mentfile.tar {}Miért vannak jobb helyen egy tar fájlban, mint egy könyvtárban?
Plusz ha sikerült beszuszakolni a fájlokat a tar-ba, attól még ottmaradnak az eredeti fájlok is. Azokat hogyan törlöm? -
Szuper! Köszönöm mindkettőtöknek!
Eze trükkös mv {} pontosan mit jelent? Hol tudnék ennek utánnaolvasni picit? -
Minden nap egy konkrét mappába kerül a napi mentés feltöltésre. Egy idő után rendkívül sok fájl lesz a mappában. A könnyeb szelektálás érdekében azt szeretném elérni, hogy a feltöltés dátuma alapján mozgassa át a fájlokat a megfelelő dátumú mappákba.
Amikor lefut a script, akkor a tegnap feltöltött fájlokat mozgassa át a 2022-12-29 mappába, és így tovább.
Az megvan hogy a tegnapi könyvtára létrehozom:mkdir /home/mentes/$(date --date="yesterday")
De a find /home/mentes/ -mtime -1 találatait hogyan mozgatom bele a könyvtáraba? De csak a fálokat, mert ott a tegnapi dátumú mappa is. -
-
-
Adott WEBoldalról hogyan lehet pár karakter lelopni, és beilleszteni egy txt megadott pontjára?
PL. https://www.mnb.hu/arfolyamok-ról kellene 1-2 adatot beolvasni, és betenni a szöveg megfelelő pontjára:
"Az jelenlegi árfolyamon [Ide jönne a beolvasott érték] forint egy euró, a Román lejért pedig [Ide jön a másik beolvasott érték] forintot kérnek."
Vagy pl. a hétvégi választási adatokat beilleszteni egy txt-be.
Az 1. választókerület jelöltjeinek szavazatai: [1.jelölt] [1.szavazatai], [2.jelölt] [2.szavazatai]"
Hírtelen nem is tudom hogyan kellene nekiállni, de biztosan létezik már rá kész megoldás -
-
Már megint én
Szóval faragom ezt a másoló scriptet, és már a partíció neveket is lemásolja, de a tisztogatás nem sikerül, valami beragad a rendszerbe.
Előtte:
ls -hl /dev/disk/by-label
összesen 0
lrwxrwxrwx 1 root root 15 dec 29 21:18 boot -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 15 dec 29 21:18 rootfs -> ../../mmcblk0p2
Utána:
ls -hl /dev/disk/by-label
összesen 0
lrwxrwxrwx 1 root root 13 dec 29 21:22 boot -> ../../loop0p1
lrwxrwxrwx 1 root root 13 dec 29 21:22 rootfs -> ../../loop0p2
Pedig lecsatolom a loop eszköz mindkét partícióját, és megszüntetem a loop eszközt. A losetup -l parancs sem ad vissza semmit, vagyis elméletileg nincs a rendszerben loop device. De akkor miér mutat a "label" a nem létező eszközre? -
-
PARTID=`blkid -o export /dev/mmcblk0p1 | tail -1 | tr -d PARTUUID=`
PARTID=${PARTID:0:8}A fenti kódot lehet elegánsabban megoldani?
-
válasz
bambano #2421 üzenetére
Viszont ez a Pi esetében nem kivitelezhető. Oké, áttehetem a kártyát egy PC-be, de ezzel megszűnik az automatizmus, ill. a távoli mentés lehetősége. Ugyanakkor pl. a Mint Timeshift-je is rsync-el készít mentést a futó rendszerről. Szóval valahogyan megoldható nem? Pl. az
Arch wiki-ben ezeket a paramétereket ajánlják:
-aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} -
Valami nem kerek. Mikor visszatöltök egy "mentést" az nem igazán akar beröffeni:
Az rsync-nek kéne több(pontosabb) paraméter, vagy a rendszerpartíciók felcsatolása nem jó ötlet egy temp könyvtárba? Mondjuk az furi, hogy a root másolásakor csak 99%-ig fut, de hibát nem jelez:
A 'root' partíció másolása
1.09G 99% 8.62MB/s 0:02:00 (xfr#30619, to-chk=0/40106) -
válasz
dabadab #2418 üzenetére
Köszi! Kipróbálom.
Életem első github projektje: pi_shrink2
Örömmel venném a segítő szándékú útba igazításokat. -
-
Kicsit átfaragok egy scriptet, ami rsync-el tükörmásolatot készít a rendszerről, de a csinosításnál elakadtam.
Az --info=progress2 egész csini infót ad arról, hogy dolgozik, várni kell míg lefut, de a végén az a zárójeles rész igencsak randa:
1.01G 99% 8.76MB/s 0:01:49 (xfr#30641, to-chk=0/40134)El lehet tüntetni valahogy a zárójeles részt?
-
-
válasz
dabadab #2281 üzenetére
Ha csak ezt futtatom
if [ "$XDG_CURRENT_DESKTOP" = "LXDE" ]
then
echo "Ez a jó választás"
pcmanfm -w $path$imgName
fiAkkor kiírja, hogy "Ez egy jó választás", és lefut a háttérkép beállítás is. Valahogy rossz helyre szúrtam be a feltételek közé, és ezért nem fut le. De nem jövök rá hol rontottam el
-
-
Az if - then - elif - fi feltételbe be tudok szúrni tetszőleges számú elif-et?
if [ "$XDG_CURRENT_DESKTOP" = "XFCE" ]
then
xres=($(echo $(xfconf-query --channel xfce4-desktop --list | grep last-image)))
for x in "${xres[@]}"
do
xfconf-query --channel xfce4-desktop --property $x --set $path$imgName
done
# A unity, gnome3, és cinnamon ablakkezelők háttérképének beállítása.
elif gsettings set org.gnome.desktop.background picture-uri "file://$path$imgName"; then
# A nagyítás beállítása
gsettings set org.gnome.desktop.background picture-options "zoom"
elif [ "$XDG_CURRENT_DESKTOP" = "LXDE" ]
then
pcmanfm -w $path$imgName
else
echo "Az $XDG_CURRENT_DESKTOP ablakkezelő nem támogatott."
break
fiMert ez így nem működik. Alakítsam át az egészet case --- esace-re? Vagy?
Új hozzászólás Aktív témák
- Debrecen és környéke adok-veszek-beszélgetek
- Parci: Milyen mosógépet vegyek?
- Luck Dragon: Asszociációs játék. :)
- Facebook és Messenger
- Mazda topik
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Székesfehérvár és környéke adok-veszek-beszélgetek
- TP-LINK routerek
- Samsung Galaxy S21 FE 5G - utóirat
- Ford topik
- További aktív témák...
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Eladó Steam kulcsok kedvező áron!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- 121 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!)
- Azonnali készpénzes AMD Radeon RX 6000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- iKing.Hu - Apple iPhone 13 Pro Max - Graphite - Használt, újszerű
- Targus Universal USB 3.0 DV1K-2K Compact docking station (DisplayLink)
- BESZÁMÍTÁS! Asus B350 R5 1600 16GB DDR4 512GB SSD GTX 1050Ti 4GB Cooler Master CM 690 III TT 500W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged