Új hozzászólás Aktív témák
-
Penty
aktív tag
Sziasztok!
A vágólapok tartalmát szeretném X mp-enként kitakarítani, szóval egy egyszerű kis vágólapot törlő scriptre lenne szükségem. Eddig ezt sikerült összehoznom. Az i3wm config indítja a gép indításánál.
Jelenleg ugye úgy működik, hogy ha valami bekerül a vágólap(ok)ra, akkor megszakad a while loop, vár 10 mp-et, majd törli a vágólapok tartalmát.
Az vele a baj, hogy ha pl. 7 mp-nél ismét bekerül valami a vágólapra, akkor nem kezdi újra a számlálást, hanem 3 mp-cel később törli a másodjára bekerült dolgot.
Hogyan lehetne megoldani, hogy ilyenkor újra kezdődjön a visszaszámlálás a törlésekig?
Esetleg valami más egyéb javítani való? Nem vagyok egy nagy bash mágus...#!/bin/bashwhile [ -z "$(xsel -ob)" ] && [ -z "$(xsel -op)" ] && [ -z "$(xsel -os)" ]; dosleep 1donesleep 10xsel -cbxsel -cpxsel -csnotify-send "A vágólap(ok) törölve."$0 & -
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.
-
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.
Új hozzászólás Aktív témák
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- World of Tanks - MMO
- Luck Dragon: Asszociációs játék. :)
- Azonnali VGA-s kérdések órája
- Samsung LCD és LED TV-k
- Xiaomi 15 - kicsi telefon nagy energiával
- Milyen videókártyát?
- Kormányok / autós szimulátorok topikja
- Xbox Series X|S
- További aktív témák...
- Eredeti Lenovo 135W töltők (sárga téglalap)
- AKCIÓ! Dell Latitude 3430 üzleti notebook - i5 1235U 8GB DDR4 512GB SSD Intel Iris Xe WIN11
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Telefon felváráslás!! Xiaomi 13T, Xiaomi 13T Pro, Xiaomi 14T, Xiaomi 14T Pro
- szinteÚJ Nubia REDMAGIC 11 Air (NX799J) 1év gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
