Վաղուց է, ինչ ես օգտագործում եմ csh ֆորմատավորումը և մի փոքր դժվարանում եմ մի քանի բանով: Matlab-ում գործերը շատ ավելի հեշտ են թվում, սակայն ես պետք է դա անեմ տերմինալում այն ծրագրերի պատճառով, որոնց հետ փորձում եմ շփվել:
Ահա թե ինչ եմ ուզում անել. ես ունեմ del.txt ֆայլ, որը կառուցված է այսպես
1
2
3
4
Այսպիսով, յուրաքանչյուր արժեք գտնվում է իր տողում, և կա մեկ սյունակ բոլոր տվյալների համար: Ես ունեմ մի փունջ այլ ֆայլեր, որոնք գտնվում են իմ գրացուցակում: Ես ուզում եմ համապատասխանեցնել ասենք 1 արժեքը (որը այս դեպքում 1 է) ֆայլ 1-ի և 2 արժեքը ֆայլ 2-ի հետ, և այլն, և այլն, և այլն: Ահա թե ինչ արեցի...
Կոդ:
!/bin/csh
առաջ ա (cat del.txt
)
foreach sta (ls *.HHZ
)
echo a is $a
echo $sta
cat <<END>>macro.m
r $a
r $sta
ՎԵՐՋ
sac macro.m
rm macro.m
վերջ
վերջ
Այնուամենայնիվ, ինչի ես հասնում եմ այն է, որ այն անցնում է del.txt-ի և յուրաքանչյուր ֆայլի բոլոր արժեքների միջով, այնուհետև անցնում է իմ գրացուցակում գտնվող հաջորդ ֆայլին և անցնում է բոլոր արժեքների միջով: Ես դժվարանում եմ պարզել այն ձևաչափը, որով սա պետք է համապատասխանի ճիշտ արժեքներին: Ես դեռ շատ բան չեմ անում սցենարի շրջանակներում, քանի դեռ չեմ կարողանում դրանք համապատասխանեցնել: Խնդրում եմ օգնեք, կարո՞ղ է ինչ-որ մեկը ինձ ասել, թե ինչ եմ սխալ անում: Ես կարդացի, որ foreach հրամանը կկատարի բոլոր հրամանները յուրաքանչյուր ֆայլի վրա, բայց ես չեմ կարողացել գտնել այս խնդիրը շրջանցելու միջոց: Այն, ինչ ես ուզում եմ, որ դա անի del.txt-ից 1 արժեքն է և այն համապատասխանեցնել 1-ին ֆայլին (sta) գրացուցակից, ավարտել հանգույցը, այնուհետև del.txt-ից վերցնել 2 արժեքը և այն համապատասխանեցնել գրացուցակից 2 ֆայլին ( ստա): Ես երբեք չեմ արել ավելին, քան պարզապես պարզ կրկնումներ csh-ով ֆայլերի մեկ ենթաբազմության վրա, և ես վստահ չեմ, թե ինչպես արժեքները հղում անել միմյանց: Ցանկացած օգնություն մեծապես գնահատելի կլինի: Ես դա անելու պարզ միջոց չեմ գտել՝ առանց ամեն ինչ գրելու: Ես նայեցի «for» և «while» հրամաններին: Եթե կա դա անելու պարզ միջոց, ես դա չեմ տեսնում:
Ողջույն, Կ