Szkriptek: Python, Perl, Bash, ...

változó átadása tömbnévnek

 ( S4m4n | 2017. november 16., csütörtök - 10:12 )

Sziasztok!

Van egy mappam amiben szoveges fileok (szofajok nevei) tartalmaznak szavakat. Ezeket a szofajnevekkel ellatott tombokbe kiszervezem, majd megakarom hivni oket dinamikusan. Az a kerdesem, hogy valtozo neveket meglehet-e adni tombnevnek?

---------
A vonatkozo kodreszletek:

ftomb=($fajlok) #itt beteszek fileneveket egy tombbe
...
for ((i=0; i<${#ftomb[*]}; i++))
do
aktszofaj[i]=${ftomb[$i]}
aktszofajhossz[i]=$( cat ${ftomb[$i]} | wc -l )

for ((j=1; j<=${aktszofajhossz[$i]}; j++))
do
eval "akttombnev=${ftomb[$i]}"

awk - cut username from mail addresses

 ( freeroute | 2017. november 9., csütörtök - 8:58 )

Sziasztok,

Van egy mail címeket tartalmazó file.
Szeretném awk-t használva - -gsub fügvénnyel vagy regex-el - kilistázni a username-t.

email.txt sorok minta:

freeroute@gmail.com

Elvárt output:

freeroute
free34te
freetoyota

Sed-el sikerült, awk-val nem jutok előbbre:
sed -E 's/([A-Za-z0-9]+).*/\1/' email.txt or
sed -E 's/@.*//' email.txt

regex perl - print 7 letters words only

 ( freeroute | 2017. november 7., kedd - 12:04 )

Szeretném regex-et használva, perl-ben a 7 karakter(alnum) hosszúságú szavakat megtalálni.

Ez nem jó parancs:
perl -pe -n '/^[a-zA-Z0-9]{7}$/p' file.txt

ez a parancs működik, viszont itt sed-et használtam:
sed -E -n '/^[a-zA-Z0-9]{7}$/p' file.txt

Köszönöm.

sort és awk [megoldva]

 ( bzs | 2017. október 31., kedd - 11:58 )

Sziasztok.

Adott egy söveges fie, melyben a sorokban vessző a mezőelválasztó (,).
Awk megmondja ugyan, hogy a 6. mezőnek milyen szám a tartalma, de kérdésem az,van-e az awk-nak olyan elvetemült kapcsolója, ami a BASH "sort -n" parancsát helyettesíti?

Azt szeretném, hogy a 6. oszlopban szereplő szám szerint csökkenő sorrendben íródjon ki a szöveges file tartalma.
Meg tudom oldani sok sorral a scriptet, de nem bírom elképzelni, hogy az awk ne tudna ilyesmit. A szöveges file közel 900 MB, sokat javítana a helyzeten, ha kisebb lenne a feldolgozó script.

[megoldva] find furcsaság

 ( gee | 2017. október 23., hétfő - 2:17 )

Valamit nem értek. Persze lehet, hogy csak nem veszek észre valami triviálisat, ha erről lenne szó, írjátok meg! Köszi.

Feladat: ki akartam válogatni a mentéseimből a videókat, amik egy adott dátum után készültek.

Több iteráción keresztül eljutottam oda, hogy azonosítottam azokat a fájl kiterjesztéseket, amik nem képek, nem egyebek, hanem vagy videó, vagy nem ismerem és akár videó is lehet.

Megszámoltam, hány ilyen van (1):

Metakarakter beszúrás adott pozícióba parancssorsból

 ( freeroute | 2017. október 21., szombat - 6:50 )

Adott egy file, benne több száz sor, változó hosszúságú hexadecimális string-el.
Hogy lehet a legegyszerűbben megoldani parancssorból, hogy adott pozícióba - konkrétan a 41. - beszúrjak egy metakaraktert?

input file.txt részlet:
f543ec4182900ab972ad2bf552008eafb3734a36bae914ac5e3e57f27aa323368
5c0ad0579061fd839db877c2c7c854c57fb759ba9ec05f72cc619feafdf2f602c

output:
f543ec4182900ab972ad2bf552008eafb3734a36:bae914ac5e3e57f27aa323368
5c0ad0579061fd839db877c2c7c854c57fb759ba9e:c05f72cc619feafdf2f602c

Köszönöm.

awk - delete metacharacter from a file

 ( freeroute | 2017. október 19., csütörtök - 10:52 )

Mi a rossz az alábbi parancsban?
Szeretném törölni a backslash karaktert a file-okból "awk"-t használva. gsub függvényt használnám erre a célra. Ha más módon is lehet, megköszönöm a segítséget.

file.txt tartalom részlet:
$P$DuOxmeTb7uGqNkkzenh6BqBu5OmpDF\/
$P$DPUN9ULZv9ICq.o53w4Kk\/685Q7mdW0
$P$DbHTs7pYRbB4s5sHzXh\/JK7kFa4SIT0

kívánt output:
$P$DuOxmeTb7uGqNkkzenh6BqBu5OmpDF/
$P$DPUN9ULZv9ICq.o53w4Kk/685Q7mdW0
$P$DbHTs7pYRbB4s5sHzXh/JK7kFa4SIT0

command:
awk '{gsub ("\\", ""); print $0}' file
or
awk '{gsub ("'\'", ""); print $0}' file

Bash / LANGUAGE=hu nem működik

 ( log69 | 2017. október 17., kedd - 0:25 )

Ubuntu 16, egy idő óta nem megy a címben jelölt dolog, vagyis hogy a LANGUAGE környezeti változóval döntsem el hogy milyen nyelvű felülettel induljon egy program. Régebben ment.

Az alábbi trükközések sem segítenek:

LANG="hu_HU.UTF-8" firefox
LC_ALL="hu_HU.UTF-8" firefox

locale-gen parancs kimenete:

Generating locales (this might take a while)...
en_US.UTF-8... done
hu_HU.UTF-8... done
Generation complete.

Pendrive duplikalas

 ( vati | 2017. szeptember 25., hétfő - 7:47 )

Sziasztok!

Az utobbi idoben megszaporodott az ugyanolyan tartalom sok pendrivera valo kiirasa az ugyfeleink reszere. Ez altalaban azt jelenti, hogy 20-30 pendrivera kell egy 10+Gb-os filet vagy fileokat kiirni. Gondolkodtam, hogy veszek egy 10-16 portos USB3-as HUB-ot es egyszerre irok legalabb tobbet. Viszont a software-es kivitelezesnel elakadtam. Nem nagyon talalok ra kesz megoldast.
Elsosorban osx kornyezetben erdekelne, de legalabb osx terminalban valo eszkozkeszlettel.

Bash kezdő

 ( neutrino | 2017. szeptember 8., péntek - 12:41 )

Sziasztok,

Van az alábbi scriptem:
https://pastebin.com/C19QWMEc

Úgy ahogy működik is, viszont van egy idegesitő hibája.

Ha a nemet választom, akkor nincs semmi gond:
neut@preshaz:/var/spool/MailScanner/quarantine/test# ./test.sh
I found 112 spams
Size of spams: 1.1M total
Do you want to delete ALL spams? [Yes/No] n
We didn't delete anything

neut@preshaz:/var/spool/MailScanner/quarantine/test# ./test.sh
I found 112 spams
Size of spams: 1.1M total
Do you want to delete ALL spams? [Yes/No] y
find: `./20170101/spam/7C2FCAC131.AAA20': No such file or directory

awk - tolower toupper metódus használata

 ( freeroute | 2017. szeptember 6., szerda - 10:43 )

Most láttam, hogy awk-nak van kis/nagybetű konverzóra beépített metódusa.
Valamit elrontok viszont, mert szintaktikai hibával kilép...

pl. a marks.txt file tartalmát szeretném átkonvertálni nagybetűssé

marks.txt:
1) amit Physics 80
2) Rahul Maths 90
3) Shyam Biology 87
4) Kedar English 85
5) Hari History 89

command: awk '{toupper; print $0}' marks.txt
awk: cmd. line:1: {toupper; print $0}
awk: cmd. line:1: ^ syntax error

sed command - segítség kérés

 ( freeroute | 2017. augusztus 29., kedd - 9:56 )

Sed használatát gyakorlom.
A file "nevek.txt" tartalma:

1, George Washington, 1984, 1345
2, John Adams, 1234, 4321,
3, Thomas Jefferson, 1022, 1230
....

A kimenetre ezt szeretném:

1, Washington George
2, Adams John
.....

Ez a parancs valamiért nem működik:

"sed -r 's/^([0-9]{1,2}), ([\w .]+?) ([\w ]+?), ([0-9]{1,4}),/\1\3\2/' nevek.txt"

Tudtok segíteni?

M4Sport Kodi nem mukodik

 ( bacsa81 | 2017. augusztus 19., szombat - 7:15 )

Sziasztok,

RPI Zeron az M4Sport pluginnel TVn neztem a hetvegi NB1es meccseket (amit nem ad a tv azt egy netes streamen lehet nezni), de sajnos par napja nem mukodik.

Van aki hasznalja rajtam kivul? Probalom rajonni a hibara es kijavitani.

Udv
Csaba

sed/awk/grep

 ( Balu007 | 2017. augusztus 2., szerda - 9:51 )

A kerdesem egyszeru, a megoldasaban elakadtam. Talan egy sed/awk/grep guru tudna segiteni.

van egy text fajlom, amiben ki kene torolnom az osszes olyan sort ami datummal kezdodik es a kovetkezo sor is datummal kezdodik.
Jelesul:

a
2017
2017
2017
b
2017
c
2017
2017

||
\ /
\/

a
2017
b
2017
c
2017

a lenyeg, hogy a legutolso datum maradjon meg.

[megoldva] php -> py

 ( szz | 2017. július 27., csütörtök - 7:48 )

Segítene valaki átfogalmazni Pythonban ezt a PHP-s alapszkriptet?
Egyszer már nekiszaladtam, de a beolvasott tömb többszöri felhasználása nem volt triviális (valami iterációs mutatót kellett volna nullázni hozzá).


<?php
fclose(STDOUT); $STDOUT = fopen('out.valami', 'w');

define('d',";");
define('n',"\n");
$f_=file('in.valami',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

foreach($f_ as $i=>$f){
if ($i==0) continue;
$x=explode(d,$f);
// print_r($x);die;
// [0] => 000001
// [1] => 000023
// [2] => 00191
print implode(d,$x).n;
}

regexp: egyszer vagy egyszer sem

 ( locsemege | 2017. július 13., csütörtök - 23:57 )

Ugye, megengedett ez a jelölés?

(foo|)bar

Input: User browserebol JS-bol timezone - Output: mysql timezone

 ( dszakal | 2017. június 28., szerda - 17:17 )

Sziasztok,

A kerdesem egyszeru, de sok tesztesetet igenyel, amiket nem en akarok "elsokent megkeresni", ha mar mas is megtette. Adott egy erosen multilanguage, tobb orszagbol es tobb idozonabol hasznalt backoffice. Meg egy rakas adat, amit GROUP BY DATE(created_at)-ezik a mysql mikor grafikont rajzolunk. a GROUP BY DATE(created_at) szeretnenk, ha a browser idozonajanak megfeleloen futna le (form fieldkent kuldjuk, PHP adja at es escape-eli amugy).

Amit szeretnek:

Input:

jpg: exif adatokból fájlnév [megoldva]

 ( bzs | 2017. június 4., vasárnap - 20:16 )

Sziasztok.

Szeretnék néhány száz képből, melyek különböző fényképezőgépekből születtek, valami áttekinthetőbbet alkotni.
Azt találtam ki, hogy a fájl neve a dátum legyen, utóneve meg az eredeti, fényképezőgép-adta név. Így megmarad az, hogy miből lett, és azonnal látszik, mikori.

Elektronikusan kitoltheto pdf

 ( e704112 | 2017. május 26., péntek - 8:13 )

Hello!

Python alapon keresek olyan eszkozt, amivel letre tudok hozni elektronikusan kitoltheto pdf- et, es ebbol a pdf- bol a kitoltott adatok ki is olvashatoak.

Van valakinek ezzel tapasztalata? Mit ajanlanatok?

awk: mezőelválasztóban aposztóf

 ( bzs | 2017. május 22., hétfő - 18:32 )

Sziasztok.

Adott egy string:

'regwe', 'khotkml', 'jgoij 43iojt'

Ezt szeretném cat-tal, grep-pel vagy tail-lal csővezetéken ráküldeni az awk-ra. A string fájlban van, soronként van belőle pár száz.

A problémám az, hogy ha megadom az awk-nak a mezőelválasztót, akkor syntax jelentkezik, ami jogos...

Kipróbáltam ezt is:
{FS="\', \'"}
Ismét hiba.

Valamikor egyszer megoldottam, de elfelejtettem hogyan.
Kösz a segítséget előre is.

(Gondolkodtam azon, hogy split-tel szétdartabololom és csinálok egy tömböt, de ágyúval lőnék verébre.)

python output és wc -l

 ( ruczati | 2017. május 8., hétfő - 12:22 )

Van 1 python script, ami kilistáz egy folder tartalmát. Magában működik, de ha megküldöm egy | wc -l -lel, akkor mindig 0-t ad vissza. redirect szintén nem működik. A sima for i in range(1,10) igen, ezért nem gondolom, h a shell-em majmult meg. Amúgy osx. Vagy én hülyültem meg. Ötlet?
Tisztában vagyok vele, hogy ilyen nincs.

Powershell - valtozo atadasa funkciok kozott

 ( Vamp | 2017. május 6., szombat - 19:18 )

Sziasztok!

Adott ket funkciom:

function choose-mount {...}

Function main {...}

main

A script ugy epulne fol, hogy minden funciokba lenne, ezert a torzsben csak a main funcio meghivasa van. A main funcion belul, meghivom a choose-mount funciot majd amikor az lefut (a vegen feltolt ertekkel egy lokalis valtozot) ezt az erteket szeretnem meghivni a main funcioban.

Leheteseges ez, anelkul, hogy globalis valtozot vegyek fol?

Powershell - valtozora szures

 ( Vamp | 2017. május 4., csütörtök - 11:32 )

Sziasztok,

Az egy powershell script, amivel egy txt fileban akarok szurni.

ket feltetel van, egy nev (Portás) es datum. (yyyy-mm-dd)

$last_day=(Get-Date).AddDays(-1).ToString('yyyy-MM-dd')
$p = @("Portás,$last_day")
Get-Content 'C:\Users\nsuto\Desktop\EXPORT_SECURITY.txt' | Select-String -Pattern $p -SimpleMatch | Set-Content C:\Users\nsuto\Desktop\FilteredContent.txt

minden jo, amig nem szurok valtozora, akkor nem is jon letre a kimeneti fajl. Elv a txt-ben a datum formatum ugyanez, yyyy-mm-dd, ezek az elvalaszto karakterek is.

Gimp "script-fu" kötegelt futtatása parancssorban

 ( bzs | 2017. május 1., hétfő - 17:17 )

Sziasztok.

Egy Gimp-re írt, remekül működő, "hdr-eff.scm" nevű scriptet szeretnék rengeteg fájlon végrehajtani paraméterek nélkül.
( http://registry.gimp.org/node/11776 )

Így próbálkoztam:

gimp --no-data \
--no-fonts \
--no-interface \
-b '(hdr-eff.scm "./fajl.jpg_original")' '(gimp-quit 0)'

A script elindult, de valahol megállt:

(gimp:16759): GLib-GObject-WARNING **: g_object_set_valist: object class 'GeglConfig' has no property named 'cache-size'

[változott] Python, TCP, 4 byte küldése, endianness, C#

 ( aspirin | 2017. április 24., hétfő - 22:48 )

új infó a topicnyitó végén

Ajaj, próbáltam a címet erősen zanzásítani... :)

Sziasztok!

Amin ügyködök, a következő.
Van ez a szoftver, telefonra, illetve egy TCP szerver váza C#-ban, az alábbi oldalon:
http://philip.daubmeier.de/sensoremitter/

Az Win-es telefonról küldi TCP-n a szenzoradatokat a pc-re.

Van ez a szoftver:
https://github.com/ianovir/HIMUServer

Ami úgy tűnik, némi módosítás után alkalmas lehetne arra, hogy fogadjam az adatokat a Windows-os telefonról.