Recent Posts
M68000 Assembler | 3 sec ago
CMake | 14 sec ago
C# | 17 sec ago
PHP | 24 sec ago
None | 35 sec ago
None | 38 sec ago
None | 52 sec ago
None | 58 sec ago
mIRC | 58 sec ago
C# | 1 min ago
Sitereport
Find cool info about any domain on the internet?
visit sitereport
Free Subdomains
Want a pastebin.com sub-domain for your community?
learn more...
What is pastebin?
Pastebin is a website that hosts all your text & code on dedicated servers for easy sharing.
learn more...
By Anonymous on the 9th of Feb 2010 07:01:48 PM
Download |
Raw |
Embed |
Report
#!/bin/bash
#funziona ma con qualche imprecisione
# Realizzare uno script che stampi un menu e permetta di eseguire le operazione in esso
# specificate.
# 1: Indica il numero di riga contenente la parola tastiera
# 2: Sostiutisce tutte le occorrenze della parola tastiera con la parola keyboard
# 3: Conta il numero di linee di cui è composto un file"
# Controllare l'input
# Pulizia bash
clear
# Controlli sull'input
if [ $# -ne 1 ]
then echo "Errore immissione numero parametri" ; exit 1
fi
if [ ! -e $1 ]
then echo "File non trovato" ; exit 2
fi
if [ ! -f $1 ]
then echo "File non regolare" ; exit 3
fi
# Inizializzazione variabile piu' saluto
scelta=4
echo "Ciao $USER"
# Stampa del menu
while [ $scelta -gt 3 ]
do
echo "Digitare il numero corrispondente all'azione che si vuole eseguire"
echo "1: Indica il numero di riga contenente la parola \"tastiera\""
echo "2: Sostiutisce tutte le occorrenze della parola \"tastiera\" con la parola \"keyboard\""
echo "3: Conta il numero di linee di cui è composto un file"
read scelta
done
# Esecizione dei comandi a seconda della scelta
case $scelta in
# Cerca la parola tastiera e stampa i numeri di riga
1) grep -n "tastiera" $1 | cut -c 1 ;; # Impreciso se il numero e' >9 non va
# Sostituisce le parole nel file e visualizza il file
2) sed -i 's/tastiera/keyboard/g' $1 ; cat $1 ;;
# Aggiunge i numeri di riga e stampa solo l'ultimo
3) awk '{printf("%d", NR)}' $1 | tail -1 ; echo ;;
esac
exit 0
Submit a correction or amendment below.
[ previous version ] | [ difference ] | Make A New Post