- Google Pixel topik
- Xiaomi Mi 11 Ultra - Circus Maximus
- Ezek a OnePlus 12 és 12R európai árai
- Xiaomi 13 Pro - szerencsés szám
- Huawei Mate 40 Pro - a csúcson kell abbahagyni?
- iPhone topik
- Infinix Note 40 Pro+ 5G - túlpakolva
- Apple iPhone 16 - ígéretek földje
- Samsung Galaxy Watch7 - kötelező kör
- OnePlus 9 Pro - gyorsulási futam
Új hozzászólás Aktív témák
-
Briganti
tag
Pliiiiz ne zarjatok, holnap nagy szuksegunk van ra, utanna igerem hogy en zarom, KOSZI
If debugging is a process of removing bug, then programming is a process of putting them in ...
-
jancsika.kis
csendes tag
adott egy allomany kov szerkezettel: nev keresztnev jegy(1<>10) csoportositsuk a szemelyeket jegy szerint es irjuk ki jol lathatoan
help! -
jancsika.kis
csendes tag
ez eken de linuxban ... #!/bin/bash
-
Darth_Revan
veterán
Hi!
Tudna nekem mondani valaki egy egyszerű parancsot amivel meg tudom határozni (awk nélkül) egy xy könyvtáron belül levő fájlok átlag méretét egészre kerekítve? Thx[ Szerkesztve ]
-
Jester01
veterán
válasz Darth_Revan #5 üzenetére
Például:
sum=0
count=0
for size in $(find "$1" -maxdepth 1 -type f -printf "%s ")
do
sum=$((sum + size))
count=$((count + 1))
done
echo "$sum bytes in $count files, averaging $((sum / count)) bytes per file"MOD: persze nullával osztást illene ellenőrizni
[ Szerkesztve ]
Jester
-
TrakToros
tag
hello!
Nekem is volna 1 gondom.Megoldottam, hogy kimenetre kimenjen 4 db számjegy és azt kellene összeadni és átlagolni. Segítene valaki? Köszönöm.
A traktorosok,kombájnosok jó emberek:)
-
TrakToros
tag
csak az nekem nem igazán akar működni
Leírom inkább az egész feladatot:
Írjon bash scriptet, amely az első pozícionális paraméterben megadott könyvtárban meghatározza
az olvasható fájlok átlag méretét bájtban (egészre kerekitve). A paraméterül kapott könyvtár létezését ellenőrizze,
és térjen vissza hibás (2) kóddal ha nem létezik. Ha nincs megadva paraméter, írjon ki rövid ismertetőt a használatról
és térjen vissza hibás (1) kóddal. Az eredmény egész számot (átlag) írja ki egy log.txt nevű fájlba.
A feladat megoldása során a "test", "expr", "ls", "cat", "echo", "cut", és "find" segédprogramokat használja.A feladat eleje hiányzik már csak, mert addig sikerült megcsinálnom, hogy kilistázza egy mappán belül levő fájlok méretet, jelenleg csak azok jelennek meg a kimeneten, már csak összegezni és átlagolni kellene őket. Bár nem tudom többi rész is jó-e, mert "test,"expr" és "cat" parancsokat még nem használtam, ebbe a maradék részben kellene használni ezt a 3at?
Ezt csináltam eddig:
if [ -z "$1" ]
then
echo "Nem adtál meg könyvtár nevet! Kérlek add meg!"
exit 2
fi
a=`find / -name $1 2>/dev/null`
if [ -d "$a" ];
then
for fn in $a
do
for i in "$fn"/*.*
do
b=`ls -ltr $i`
echo $b|cut -d " " -f 5
done
done
else
echo "Nem található ez a mappa!"
fi[ Szerkesztve ]
A traktorosok,kombájnosok jó emberek:)
-
Darth_Revan
veterán
Üdv
Azt hogy lehetne megcsinálni, hogy kilistázok több db html fájlt és azokban megszámolni, hogy hány db sor van a <body> és </body> között? Próbáltam volna grep-el de csak egy sort számnolt, a <body>-t
-
Jester01
veterán
válasz Darth_Revan #12 üzenetére
sed -n '/<body>/,/<\/body>/ p' | wc -l
Ez beleszámolja a body sorokat is, tehát kettővel több lesz. Már ha volt body egyáltalán.Vagy awk-val:
awk '/<body>/,/<\/body>/ { count++ } END { if (count > 2) print count - 2; else print 0 } 'vagy shellben közvetlenül:
count=0
body=0
while read line
do
test "x$line" != "x${line/<body>/}" && body=1 && continue
test "x$line" != "x${line/<\/body>/}" && body=0 && continue
[[ $body == 1 ]] && count=$((count + 1))
done
echo $countEgyik sem szereti ha egy sorban van a <body> és a </body> És ha nincs </body> akkor is "között"-nek minősül.
Jester
-
Darth_Revan
veterán
válasz Darth_Revan #14 üzenetére
sed-el meg csak az egyik body-t számolja bele
-
Jester01
veterán
-
kovacsakos91
csendes tag
Valaki esetleg tudna ajánlani valamiféle szakirodalmat vagy példatárat a témában?
-
Jim-Y
veterán
Sziasztok
van egy változóm benne floatok, ezeket szeretném összeadni, már legalább 20-féleképp próbáltam de eddig semmi :/
"a" a változó
"sum"-ba kéne összeadogatni az "a"-ban lévő floatokat (pl 56.45,65.32 stb..)for i in $a
do
`sum+=$i | bc`
donemegköszönném ha valaki tudna segíteni
-
Ronny3
aktív tag
Valaki tud esetleg segíteni ebben:
Egy VB Sript-et kellene írni ,, , ami az Fn+F3 gombokra vonatkozna ACER TM8571 Notebookra,és azt az utasítást adja a gépnek induláskor, mintha benyomtam volna az Fn+F3-as gombot... Ami egyébként a Bluetooth-ot kapcsolja be!
A VB Scrip-tel az autómatikus Bluetooth bekapcsolását szeretném megoldani, hogy ne keljen mindig bekapcsolgatni ujraindítás után!
Köszönöm ha tud valaki érdemben segíteni!
-
-
F34R
nagyúr
nem tudom hogy ismeretek-e ilyet de szuksegem volna olyan scriptre mint flac>mp3 eseteben:
#!/bin/bash
for a in *.flac; do
< /dev/null ffmpeg -i "$a" -qscale:a 0 "${a[@]/%flac/mp3}"
donenamarmost nekem musepack (*mpc)-bol kellene mp3-t varazsolni.
fent van a decoding library a libmpcdec is. valakinek valami otlete ? -
F34R
nagyúr
Naj csak meglett.
lame, mutagen, mplayer (vagy tetszes szerint mplayer2 es a fork mpv)
es a script
#!/bin/bash
DEFAULT_OUTPUT_DIR=/tmp/mp3ify
QUALITY=2
VBR_QUALITY=4
MIN_BITRATE=64
MAX_BITRATE=256
SAMPLE_FREQ=44.1
function any_to_mp3 {
PIPE=`mktemp -u -t mp3ify.pipe.XXXXXX`
mkfifo "$PIPE"
mplayer -ao pcm -ao pcm:file="$PIPE" "$INPUT_FILE" -noconsolecontrols > /dev/null 2>&1 &
lame -m j -q $QUALITY -v -V $VBR_QUALITY -b $MIN_BITRATE \
-B $MAX_BITRATE -s $SAMPLE_FREQ "$PIPE" "$OUTPUT_FILE" > /dev/null 2>&1
rm "$PIPE"
python2 -c "
import mutagen
input = mutagen.File(\"$INPUT_FILE\", easy = True)
output = mutagen.File(\"$OUTPUT_FILE\", easy = True)
for tag in [ 'artist', 'album', 'tracknumber', 'date', 'genre', 'title', 'comment' ]:
value = input.get(tag)
if value: output[tag] = value[0]
output.save(v1=2)"
}
function usage {
echo "mp3ify <input_dir> [<output_dir>]
Transforms structure <input_dir>/X/Y/.../Z into structure <output_dir>/X/Y/.../Z
according to the following rules:
flac, ogg, m4a, ape, aac, mpc files will be encoded to mp3 preserving tags.
Everything else will be copied without modification.
Requires: mplayer, lame, mutagen.
"
exit 1
}
INPUT_DIR="$1"
[ -d "$INPUT_DIR" ] || usage
OUTPUT_DIR="${2:-$DEFAULT_OUTPUT_DIR}"
find "$INPUT_DIR" -name '*.*' | while read INPUT_FILE
do
INPUT_EXTENSION="${INPUT_FILE##*.}"
OUTPUT_FILE="$OUTPUT_DIR/${INPUT_FILE#$INPUT_DIR}"
mkdir -p "`dirname "$OUTPUT_FILE"`"
case $INPUT_EXTENSION in
flac|m4a|ogg|ape|aac|mpc)
OUTPUT_FILE="${OUTPUT_FILE%.$INPUT_EXTENSION}.mp3"
echo -n "Converting ${INPUT_FILE##*/}... "
any_to_mp3
;;
*)
echo -n "Copying ${INPUT_FILE##*/}... "
cp "$INPUT_FILE" "$OUTPUT_FILE"
;;
esac
echo "done."
done -
dkaro
őstag
Sziasztok!
Nagyon láma vagyok bash-ben de nagioshoz szükségem van néhány scriptre.
Egy ubiquity eszközről ssh-val kell leszednem 2 infot.
Ezt a scriptet írtam (nem kiröhögni ha nagy hülyeségek vannak benne, a jelszótárolásra még kitalálok vmit.
#!/bin/bash
#
#check_ubnt device
#
if [ $# -lt 1 ]; then
echo "Usage: ./check_ubnt_airmax_capacity devices"
exit 127
fi
HOST=$1
DATA="Airmax capacity:"
CRIT=30
WARN=50
STATUS=0
result=`sshpass -pjelszo ssh -o StrictHostKeyChecking=no root@$HOST cat /proc/sys/dev/ubnt_poll/capacity && exit`
if [ $RES != 0 ]; then
INK="Data Unknown - SNMP problem. No data received from host.";
echo $DATA;
STATUS=3;
exit $STATUS;
fi
#CHECK WARNING AND CRITICAL LEVELS
if (( $result < $CRIT )); then
echo "Airmax Capacity Critical - "$result"%";
STATUS=2
elif (( $result < $WARN )); then
echo "Airmax Capacity Warning - "$result"%";
STATUS=1
else
echo $DATA $result"%"
fi
exit $STATUSA problémám, hogy nem zárja le az ssh kapcsolatot.
Próbáltma már minden félét.
EOF-al kiadni ssh-n a parancsokat de akkor még az eredmény változóban történő eltárolásával se boldogulok.
Megköszönnék egy kis segítséget tényleg nagyon béna vagyok bashben,
dkaro -
Dadi207
csendes tag
Sziasztok,
segítségre lenne szükségem.
Készítettem egy scriptet, ami rendszeresen frissít néhány dolgot a telefonomon. A problémám az lenne, hogy ha így írom, akkor minden jól működik:
#!/sbin/sh
if [ -e $CMU/cm*NIGHTLY-bacon.zip ] || [ ! -e /data/system/packages.xml ]; then
Viszontha így, akkor nem:
#!/sbin/sh
CM=$(cd $CMU && ls cm*NIGHTLY-bacon.zip)
if [ -e $CMU/$CM ] || [ ! -e /data/system/packages.xml ]; then
Valaki tudna nekem segíteni, hogy miért nem működik a második?
Előre is köszönöm a válaszokat.OnePlus One
-
Domonkos
Ármester
Nem nez ki olyan rosszul es hulyesegek sincsenek benne - bar nehol valoban lehetne egy kicsit egyszerubben kifejezni azt amit szeretnel.
En a helyedben a kulonbozo jelszavas trukkozesek helyett csinalnek egyssh-keygen
-es kulcspart a gepekhez, amivel a megfelelo jogosultsagok beallitasa utan jelszo nelkul at lehet jelentkezni egyikrol a masikra. Azutan egy simaresult=$(ssh root@$HOST cat /proc/sys/dev/ubnt_poll/capacity)
-val jonnie kellene a dolognak
Ha meg aktualis, akkor kerlek irj hogy mukodik-e!Gender of electrical connectors is defined by the pins.
-
olivera88
veterán
Látom elég kihalt a topic, de ezért hátha tud valaki segiteni.
Adott ez a letöltő script amit csináltam.
wget "https://opendata.dwd.de/weather/nwp/icon-eu/grib/06/tot_prec/icon-eu_europe_regular-lat-lon_single-level_$(date +"%Y%m%d")06_012_TOT_PREC.grib2.bz2" -O ICONPCP.grib2.bz2
A 012 itt változó szám, 000 tól indul és egyesével megy 118 ig. Az lenne kérdés h meglehetne úgy oldani h 001 kezdve pl 072 ig letöltse fájlokat?
Egyesével gondoltam letölteni, da úgy jó sokszor meg kelleni ismételni ezt a sort.LG Velvet 5G Android 11 - Windows 10 Pro x64 & Debian 11 Bullseye - WoWS unsinkable_sam_
-
olivera88
veterán
for i in 0{01..72} ; do wget "https://opendata.dwd.de/weather/nwp/icon-eu/grib/12/tot_prec/icon-eu_europe_regular-lat-lon_single-level_$(date +"%Y%m%d")12_001_TOT_PREC.grib2.bz2" ; alma${i}fa ; done
Így? Nem megy így, csak egy fájlt tölt el ami meg van adva a linkben.
[ Szerkesztve ]
LG Velvet 5G Android 11 - Windows 10 Pro x64 & Debian 11 Bullseye - WoWS unsinkable_sam_
-
Keem1
veterán
Srácok, segítséget kérnék.
Mutatom, hol tartok épp:
username="$(id -un)"
usergroup="$(id -gn)"
origuser="${SUDO_UID}"
origgroup="${SUDO_GID}"
echo "Current user: ${username}:${usergroup}"
echo "Original user: ${origuser}:${origgroup}"Ha simán, userként hívom a scriptet, akkor tök jól megvan a user és a group is. Rootként szintén. De, szükségem lenne az eredeti userre is ez utóbbi esetben. A fenti félmegoldás szintén működik, azzal a szépséghibával, hogy a sudozó user uid és gid számait kapom. Ezek jók is, de nekem mindenképp nevesítve kellene a user és a group is.
Kettes számú feladat: ha a fenti megvan, akkor nem rootként a két-két user és group megegyezzen, ne legyen üres.
Van erre ötletetek?
-
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
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
-
Domonkos
Ármester
Hmmm... Ez inkabb ugy hangzik, mintha a
clip_id
-val lenne a gond. Mintha ott ragadna egyCR
a telnet kommunikaciobol a vegen.
Ha biztos vagy benne, hogy aclip_id
az csak decimalis szam lehet, akkor acut
utan meg eggyel tovabb szurheted egytr -cd 0-9
-cel.De amugy mar a bemenetet (itt epp
output
) lenne inkabb erdemes szurni:tr -d '\r'
- es akkor tuti nem lesz a tobbi valtozoval sem ilyen gond.Amugy a
{}
"parameter" az nemsed
specifikus. Itt konkretan az a program ebbol semmit nem fog latni, mert az mar a hivas elott aclip_id
-val (es a$
-ral) egyutt behelyettesitodik aclip_id
ertekere. Ami hogyha egyCR
-t is tartalmaz, valoszinuleg nem lesz ervenyessed
parancs...Tovabba valoszinuleg a telnet klienst/szervert is be lehetne ugy konfiguralni, hogy ne akarjanak
CR
-t kuldeni; de emlekeim szerint csak azzal szabvanyos a kommunikacio. Szoval a fenti hack egy kicsit meg altalanosabb megoldas is.[ Szerkesztve ]
Gender of electrical connectors is defined by the pins.
-
Domonkos
Ármester
Bar nem neztem utana, hogy pontosan miota, de az
id
az fogoad uid/gid parametereket is, szoval egy kelloen recens verzioval ennek mukodnie kellene:username="$(id -un)"
usergroup="$(id -gn)"
origuser="`id -nu ${SUDO_UID}`"
origgroup="`id -ng ${SUDO_GID}`"
echo "Current user: ${username}:${usergroup}"
echo "Original user: ${origuser}:${origgroup}"Ez veletlenul teljesiti a masodik feladatot is, mert nem sudo-s shell-ben az a ket valtozo valoszinuleg ures sztringekkent helyettesitodnek be.
De ha tutira akarsz menni, akkor hasznalhatod a futyi operatort (:-
) a behelyettesiteskor.[ Szerkesztve ]
Gender of electrical connectors is defined by the pins.
-
Új hozzászólás Aktív témák
Hirdetés
- Makulátlan Asus, 15,6"FullHD IPS, játékra is,i5 1135g7,IRIS XE VGA,12-16GB RAM,SSD,
- Asrock H81 Pro BTC ajándék proci + ram + hűtő
- HP 14s,FullHD játékra is,i5 1135g7(8X4,2Ghz)IRIS XE VGA,12-16GB RAM,SSD,
- OHH Bontatlan Lenovo ThinkBook 16p Workstation Tervező Laptop -50% i7-13700H 16/512 RTX 4060 8GB QHD
- Asus ROG Zephyrus G14 FHD+ 144Hz Hordozható Gamer laptop -50% Ryzen 7 6800HS 16GB/1TB RX 6700S 8GB
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Axon Labs Kft.
Város: Budapest