Ú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
- AMD vs. INTEL vs. NVIDIA
- Formula-1
- Kínai és egyéb olcsó órák topikja
- Milyen billentyűzetet vegyek?
- Spórolós topik
- Alaposan helyretette az AI ellenzőit az NVIDIA vezetője
- Highguard - Nagy érdeklődéssel indult, de vannak gondok vele
- Kell-e a korlátlan mobilnet, vagy luxusból égetjük a pénzt?
- Gyúrósok ide!
- Okos Otthon / Smart Home
- További aktív témák...
- Wacom Bamboo One CTF-430 rajztábla
- Gamer PC-Számítógép! Csere-Beszámítás! I5 6600K / 16GB DDR4 / GTX 1660 6GB / 128SSD + 1TB HDD
- GYÖNYÖRŰ iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3878
- HIBÁTLAN iPhone 14 Pro 128GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4420, 100% Akksi
- Keresünk Galaxy S21/S21+/S21 Ultra/S21Fe
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

