Forum » Programiranje » bash skripta ki bere txt
bash skripta ki bere txt

Mike0 ::
#!/bin/bash
FILE=${@:${#@}}
#echo "$FILE"
if [[ $FILE != *".txt" ]]; then
echo "neki"
#FILE=`echo $HISTFILE`
elif [ ! -f $FILE ]; then
echo "Napaka: datoteka ne obstaja."
exit 1;
fi
seznam=()
n=0
nswitch=0
p=0
if [[ $* == *-p* ]]
then
#echo "zastavica p"
p=1
fi
if [[ $1 == *-n* ]]
then
#echo "zastavica n"
#echo $2
n=$2
nswitch=1
fi
if [[ $2 == *-n* ]]
then
#echo "zastavica n"
#echo $3
n=$3
nswitch=1
fi
while read line;do
#echo "Line # $k: $line"
((k++))
vrstica="$line"
OIFS="$IFS"
IFS=' '
read -a tabela <<< "${line}"
IFS="$OIFS"
count=0
for string in "${tabela[@]}"
do
#echo $p
#echo $count
#echo $n
#echo $nswitch
if [[ $p == 0 && $count > 0 ]]
then
#echo "break1"
break
fi
save=1
if [[ $string == *"|"* ]]
then
save=0
fi
if [[ $string == *"-"* ]]
then
save=0
fi
if [[ $string == *"."* ]]
then
save=0
fi
if [[ $save == 1 ]]
then
ukaz=`basename $string`
#echo $ukaz
seznam+=("$ukaz")
(( count++ ))
fi
done
done < $FILE
#echo "Seznam vseh ukazov:"
#echo ${seznam[@]}
#printf "%s\n" "${seznam[@]}" > seznamUkazov.txt
#sort seznamUkazov.txt | uniq -c
printf "%s\n" "${seznam[@]}" | sort | uniq -c |while read line
do
read -d, col1 col2 < <(echo $line)
if [ $nswitch == 1 ] && [ $n -gt 0 ]
then
echo "$col2 $col1"
(( n-- ))
elif [ $nswitch == 0 ]
then
echo "$col2 $col1"
fi
done
exit 0;

Mike0 ::
Ta skripta vrne ven besede po abecedi, število pojavitev pa ni razporejeno, mora biti:
skripta se kliče ./skripta.sh text.txt
v text.txt so linux ukazi, ki jih nato sešteje kolikokrat se pojavijo
ls 15
cat 10
cd 8
Kako to urediti
skripta se kliče ./skripta.sh text.txt
v text.txt so linux ukazi, ki jih nato sešteje kolikokrat se pojavijo
ls 15
cat 10
cd 8
Kako to urediti

Invictus ::
./skripta.sh text.txt | sort
Pa pač uporabi potrebne opcije glede na svoje želje ...
Pa pač uporabi potrebne opcije glede na svoje želje ...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Zgodovina sprememb…
- spremenil: Invictus ()

Invictus ::
sort fajl | uniq -c | sort -n
Evo, pa sploh ne rabiš skripte


Poanta je, na UNIXu se nauči programčkov. Je tako že skoraj vse napisano ...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Arhiviranje serverja s TAR - incremental in FTP na drugo lokacijo in email report - SOddelek: Operacijski sistemi | 1641 (1552) | Daedalus |
» | Noob se loti programiranje v BASHOddelek: Programiranje | 2318 (1718) | c3p0 |
» | [UNIX] arg list too longOddelek: Programiranje | 1992 (1247) | bijonda |
» | net in gentooOddelek: Operacijski sistemi | 1562 (1428) | Poldi112 |
» | Inštalacija Linux - WinXPOddelek: Operacijski sistemi | 1548 (1210) | Gh0st |