Új hozzászólás Aktív témák
-
cigam
titán
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!
-
cigam
titán
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. -
cigam
titán
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 -
cigam
titán
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.
-
cigam
titán
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
-
cigam
titán
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. -
cigam
titán
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?
-
cigam
titán
válasz
fatpingvin #2777 üzenetére
Persze. A .tar fájlban benne van az összes tegnapi dátumú fájl.
-
cigam
titán
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 {}+;
-
cigam
titán
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? -
cigam
titán
Szuper! Köszönöm mindkettőtöknek!
Eze trükkös mv {} pontosan mit jelent? Hol tudnék ennek utánnaolvasni picit? -
cigam
titán
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. -
cigam
titán
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 -
-
cigam
titán
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? -
cigam
titán
PARTID=`blkid -o export /dev/mmcblk0p1 | tail -1 | tr -d PARTUUID=`
PARTID=${PARTID:0:8}A fenti kódot lehet elegánsabban megoldani?
-
cigam
titán
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"} -
cigam
titán
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) -
cigam
titán
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. -
cigam
titán
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?
-
cigam
titán
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
-
cigam
titán
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
Hirdetés
- Synology NAS
- Kerékpárosok, bringások ide!
- Kormányok / autós szimulátorok topikja
- PlayStation 5
- Argos: Szeretem az ecetfát
- Android játékok topikja
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- One otthoni szolgáltatások (TV, internet, telefon)
- Vírusirtó topic
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- További aktív témák...
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- AKCIÓ! AMD Ryzen 7 3800X 8mag 16szál processzor garanciával hibátlan működéssel
- Bomba ár! Lenovo ThinkPad T470 - i5-G6 I 8GB I 256GB SSD I 14" FHD I HDMI I Cam I W10 I Garancia!
- Újszerű Asus ExpertBook B1 B1500 - 15.6" FullHD IPS - i5-1235U - 16GB - 512GB SSD - Win11 - Garancia
- Azonnali készpénzes INTEL CPU NVIDIA VGA számítógép felvásárlás személyesen / postával korrekt áron
- AKCIÓ! VALVE INDEX virtuális valóság szemüveg garanciával hibátlan működéssel
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged