Új hozzászólás Aktív témák
-
amargo
addikt
Még korlátozott tudástárammal ennyire jutottam, elviekben ez jól megoldja az adott feladatot. 2 dimenziós tömböt nem tudom, hogy lehet itt csinálni.. ezért 1el csináltam. Sok minden nem elegáns benne, de még nem ismerem, hogy lehet függvényeket csinálni változókat átadni stb. Azt olvastam, hogy van, C-shell is.. de gondolom a bash ből csak hívni lehet.
A script maga feltételezi, hogy a egyenlő dimenzióju mártixok az adat forrás, ha nem, akkor hibás az eredmény akkor uzi és kilép.
tmb=0
for k in `cat ''$1''`
do
matrix[tmb]=$k
let tmb=tmb+1
done
echo ''elem: ''$tmb
sor=`grep ''^[0-9]'' ''$1'' | wc -l`
let dim=$tmb/$sor
if [ $dim != $sor ]; then
echo Nem megfelelo matrix
exit 1
fi
echo ''sor: ''$sor
b=0
oszell=0
sorell=0
for((i=0;i<$sor;i++));do
let sorok=${matrix[i+b]}+${matrix[i+b+1]}+${matrix[i+b+2]}+${matrix[i+b+3]}
#echo ''sor'' $((i+1)) $sorok
let b=b+3
let oszp=${matrix}+${matrix[i+4]}+${matrix[i+8]}+${matrix[i+12]}
#echo ''oszlop''$((i+1)) $oszp
if [ $i -gt 0 ]; then
if [ $sorell != $sorok ]; then
echo ''hibas a $((i+1)) sor''
else
sorell=$sorok
fi
if [ $oszell != $oszp ]; then
echo ''hibas a $((i+1)) oszlop''
else
oszell=$oszp
fi
else
sorell=$sorok
oszell=$oszp
fi
done -
amargo
addikt
válasz
Jester01 #184 üzenetére
Ez remek! Közben rátaláltam googlin, hogy itt újra kellene neki foglalni a memóriát és az exporot hazsnálni stb.. de ez így ahogy írtad működik.
Nagyon köszönöm!
Van 5leted, hogy a k elemet hogy számolom össze? tehát, hogy 1sorba hány adat került? tehát a, ha
for k in a b c d e f
akkor megtudjam, a cikluson kívül, hogy a k értéke 6
[Szerkesztve] -
amargo
addikt
Ismét kérdésem volna:
tmb=1
matrix[0]=1
cat ''$1'' | while read
do
for k in $REPLY
do
matrix[tmb]=$k
#echo $k
let tmb=tmb+1
done
echo ${matrix[1]}
echo ${matrix[2]}
done
echo ${matrix[1]}
A belső ciklusban kiírja a matrix tartalmát megfelelően, de hogy lehet olyan változót csinálni, ami a ciklusokon kívűl is láttszik? Tehát, mint a done után is megtartja az értékét? -
amargo
addikt
Sziasztok!
Shellben egy stringnek, mind1, hoyg paraméter az vagy egy file sorainak stb akárminek a tartalma. De hogy tudok elemenként hivatkozni rá?
mint pl C-ben?
string tmp = ''valami'';
tmp[ 1 ];
gyanítom hogy itt is van erre valami megoldás, de mi?
Másik kérdésem, sed ben tübb parancsot is össze lehet fűzni. de nekem csak pipeokon keresztűl sikerült, de gondolom ennél van szebb megoldása is mint :
sed ''s/e'/é/g'' | sed ''s/a'/á/g'' | sed ''s/i'/í/g'' | sed ''s/o'/ó/g'' | sed ''s/o:/ö/g'' | sed ''s/o\''/ő/g'' | .. stb
próbáltam őssze kötni a parancsokat, mármint hogy ''s/\(e'\)*(a'\)/\1\2/''
de nem akar össze jönni nekem.. nem is nagyon értem még ezt a sed et..
ha tud valaki segíteni azt megköszönném
amargo
Új hozzászólás Aktív témák
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Megjelent a Poco F7, eurós ára is van már
- Linux kezdőknek
- Milyen széket vegyek?
- Azonnali fáradt gőzös kérdések órája
- exHWSW - Értünk mindenhez IS
- One otthoni szolgáltatások (TV, internet, telefon)
- Samsung Galaxy Watch6 Classic - tekerd!
- MÁV topic
- Győr és környéke adok-veszek-beszélgetek
- További aktív témák...
- DELL PowerEdge R640 rack szerver - 1xGold 6138 (20c/40t, 2.0/3.7GHz), 64GB RAM,4x1G RJ, HBA330, áfás
- Azonnali készpénzes AMD CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- Wilbur Smith könyvek (15 db) egyben
- Huawei Nova Y70 128GB, Kártyafüggetlen, 1 Év Garanciával
- LG 65QNED86T / 65" - 164 cm QNED / 4K UHD / 120Hz & 3ms / HDR 10 Pro / FreeSync Premium / HDMI 2.1
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest