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 | 1577 (1488) | Daedalus |
» | Noob se loti programiranje v BASHOddelek: Programiranje | 2270 (1670) | c3p0 |
» | [UNIX] arg list too longOddelek: Programiranje | 1943 (1198) | bijonda |
» | net in gentooOddelek: Operacijski sistemi | 1488 (1354) | Poldi112 |
» | Inštalacija Linux - WinXPOddelek: Operacijski sistemi | 1501 (1163) | Gh0st |