Programa koiato...
6 отговора
335 прегледа
Programa koiato...
Imam slednia problem: Imam 3 faila dos txt format, v vseki fail na otdelni redove sa zapisani dve chisla i text po slednia nachin:
{123}{456}txtxtxtxtx
Triabva mi programa koiato da chete chislata da gi subira s vuvedeno ot men chislo i da proizvezda fail s novopomenenite chisla kato ne promenia strukturata na faila. Primer:
fail 1.txt :
{111}{222}txtxtxtxt
{333}{444}xtxtxtxtx
.
.
.
vuvezdam: 2222 i pluchavam fail 1.1.txt :
{2333}{2444}txtxtxtxt
{2555}{2666}xtxtxtxtx
.
.
.
Shte sum mnogo blagodaren ako niakoi programist mi pomogne, uchil sum edno vreme samo BASIC ako ste go chuvali i to v uchilishte, izobshto ne sum programist
, a tezi failove sa po 2-3000 reda vseki i smiataneto s kalkulator i pisaneto shte mi otneme strasho mnogo vreme. Imam RH7.2, Atlon, 128 MB.
Blagodaria predvaritelno za otzivchivosta koiato niakoi porgramist moze da proiavi
©·2001
{123}{456}txtxtxtxtx
Triabva mi programa koiato da chete chislata da gi subira s vuvedeno ot men chislo i da proizvezda fail s novopomenenite chisla kato ne promenia strukturata na faila. Primer:
fail 1.txt :
{111}{222}txtxtxtxt
{333}{444}xtxtxtxtx
.
.
.
vuvezdam: 2222 i pluchavam fail 1.1.txt :
{2333}{2444}txtxtxtxt
{2555}{2666}xtxtxtxtx
.
.
.
Shte sum mnogo blagodaren ako niakoi programist mi pomogne, uchil sum edno vreme samo BASIC ako ste go chuvali i to v uchilishte, izobshto ne sum programist
Blagodaria predvaritelno za otzivchivosta koiato niakoi porgramist moze da proiavi
©·2001
Re: Programa koiato...
probvaj tova. sega go napisah i ne sum go testval, ama traa da raboti :)
#!/bin/bash
if (test $# = 3); then
INPT=`cat $1`
for i in `cat $1`; do
ONPT=`echo $i | sed s/}/" "/ `
ONPT=`echo $ONPT | sed s/}/" "/`
OTXT=""
for j in $ONPT; do
if [ `echo $j | grep "{"` ]; then
j=`echo $j | sed s/{/" "/`
let j+=$3
OTXT=$OTXT"{"$j"}"
else
OTXT=$OTXT$j
fi
done
echo $OTXT | tee -a $2
done
else
echo Use: $0 inut_file output_file number
fi
#!/bin/bash
if (test $# = 3); then
INPT=`cat $1`
for i in `cat $1`; do
ONPT=`echo $i | sed s/}/" "/ `
ONPT=`echo $ONPT | sed s/}/" "/`
OTXT=""
for j in $ONPT; do
if [ `echo $j | grep "{"` ]; then
j=`echo $j | sed s/{/" "/`
let j+=$3
OTXT=$OTXT"{"$j"}"
else
OTXT=$OTXT$j
fi
done
echo $OTXT | tee -a $2
done
else
echo Use: $0 inut_file output_file number
fi
Re: Programa koiato...
Blagodaria, shte go probvam dovechera, a do togas ako skoro ne mi nameriat rabota shte ucha bash iavno ta da moga da chatna napulno kakvo si mi napisal.
©·2001
©·2001
Re: Programa koiato...
kaji ako slu4ajno proraboti :)
a ako neshto ne ti e jasno - pitaj :))
a ako neshto ne ti e jasno - pitaj :))
Re: Programa koiato...
Bash-maistore, prorabot no s defekt, subira chislata pravilno i gi dobavia pravilno no sled tiah se oplitat neshtata: dumite v osttuka ot reda se zapisvat vsiaka na nov red a simvola za krai na red se izpisva kato ^M, t.e. poluchavam slednoto:
Vhod:
{111}{222}aa bb ccc dddd e
Izhod:
{5333}{5444}aa
bb
ccc
dddd
e^M
Za razbiraneto mi stana iasno kak raboti no ako me nakarash da napisha takuv skript shte me ubiesh na miasto. no vse pak si izteglih edin BASIC ScripBasic i sega mu cheta dokumentaciata. Ako moze da podobrish skripta, shtoto az kato opitah nishto ne se poluchi edinstvenoto koeto promenih i ne se podobri nishto e slednoto:
#!/bin/bash
if (test $# = 3); then
INPT=`cat $1`
for i in $INPT; do
ONPT=`echo $i | sed s/}/" "/`
ONPT=`echo $ONPT | sed s/}/" "/`
OTXT=""
for j in $ONPT; do
if [ `echo $j | grep "{"` ]; then
j=`echo $j | sed s/{/" "/`
let j+=$3
OTXT=$OTXT"{"$j"}"
else
OTXT=$OTXT$j
fi
done
echo $OTXT | tee -a $2
done
else
echo Use: $0 input_file output_file number
fi
©·2001
Vhod:
{111}{222}aa bb ccc dddd e
Izhod:
{5333}{5444}aa
bb
ccc
dddd
e^M
Za razbiraneto mi stana iasno kak raboti no ako me nakarash da napisha takuv skript shte me ubiesh na miasto. no vse pak si izteglih edin BASIC ScripBasic i sega mu cheta dokumentaciata. Ako moze da podobrish skripta, shtoto az kato opitah nishto ne se poluchi edinstvenoto koeto promenih i ne se podobri nishto e slednoto:
#!/bin/bash
if (test $# = 3); then
INPT=`cat $1`
for i in $INPT; do
ONPT=`echo $i | sed s/}/" "/`
ONPT=`echo $ONPT | sed s/}/" "/`
OTXT=""
for j in $ONPT; do
if [ `echo $j | grep "{"` ]; then
j=`echo $j | sed s/{/" "/`
let j+=$3
OTXT=$OTXT"{"$j"}"
else
OTXT=$OTXT$j
fi
done
echo $OTXT | tee -a $2
done
else
echo Use: $0 input_file output_file number
fi
©·2001
Re: Programa koiato...
v primera, kojto si dal ima samo edin string sled 4islata, zatova i scripta ne o4akva da ima pove4e :)
tova e versiata s mnogo stringove :
#!/bin/bash
if (test $# = 3); then
INPT=`cat $1`
OTXT=""
NLINE=0
for i in $INPT; do
ONPT=`echo $i | sed s/}/" "/ `
ONPT=`echo $ONPT | sed s/}/" "/`
for j in $ONPT; do
if [ `echo $j | grep "{"` ]; then
j=`echo $j | sed s/{/" "/`
let j+=$3
if(test $NLINE = 1);then
echo $OTXT | tee -a $2
OTXT="{"$j"}"
NLINE=0
else
OTXT=$OTXT"{"$j"}"
fi
else
OTXT=$OTXT$j" "
NLINE=1
fi
done
done
echo $OTXT | tee -a $2
else
echo Use: $0 inut_file output_file number
fi
tova e versiata s mnogo stringove :
#!/bin/bash
if (test $# = 3); then
INPT=`cat $1`
OTXT=""
NLINE=0
for i in $INPT; do
ONPT=`echo $i | sed s/}/" "/ `
ONPT=`echo $ONPT | sed s/}/" "/`
for j in $ONPT; do
if [ `echo $j | grep "{"` ]; then
j=`echo $j | sed s/{/" "/`
let j+=$3
if(test $NLINE = 1);then
echo $OTXT | tee -a $2
OTXT="{"$j"}"
NLINE=0
else
OTXT=$OTXT"{"$j"}"
fi
else
OTXT=$OTXT$j" "
NLINE=1
fi
done
done
echo $OTXT | tee -a $2
else
echo Use: $0 inut_file output_file number
fi
Blagodarnosti
Blagodaria ti mnogo, skripta raboti otlichno, svurshih si rabotata s nego. Da te cherpia edna bira :) ? Spomenal sum te v blagodarnostite na kraia na tekstovete estestveno samo kato nik. Ako obache ne zelaesh da se chuva za teb kazi mi predi da sum gi izpratil.
I otnovo blagodaria.
©·2001
I otnovo blagodaria.
©·2001