Pubblicato da: unicatout | luglio 25, 2008

Script: commenta righe doppie

Premessa

Frequentando il forum italiano di ubuntu, succede spesso di incontrare utenti che chiedono aiuto alla comunità per implementare uno script in modo da poter automatizzare un determinato processo. Nel caso specifico veniva richiesta la possibilità di individuare e cancellare le righe doppie in uno script:

Ciao,
ho uno script (abbastanza lungo) e la necessità di verificare se questo contiene righe uguali. Come potrei fare?

Questa volta, siccome avevo un po di tempo libero da investire, ho deciso di rendermi utile fornendo il mio contributo alla comunità di Ubuntu in generale ed all’utente autore della richiesta in modo particolare; quindi mi sono rimesso a studiacchiare la Guida avanzata di scripting Bash ed ho provato a dare una soluzione al quesito sollevato.

Note:

In realtà lo script non cancella le righe doppie, ma le commenta solamente; questo perchè mi sembrava che dal punto di vista stilistico fosse più elegante ed inoltre è una soluzione molto meno drastica.

Lo script

#!/bin/bash

# Data       : 25-07-2008
# Nome script: crd.sh
# Descrizione: commenta le righe doppie presenti in un file (escluso la prima trovata)
#————————————————————————————-

# input utente
# faccio inserire all’utente il percorso e nome
# dei files (da elaborare e modificato).
clear
while [[ $pathFileOrig = “” ]]; do
echo -n “Digita il percorso seguito dal nome del file da elaborare: ”
read pathFileOrig
done
while [[ $pathFileMod = “” ]]; do
echo -n “Digita il percorso seguito dal nome del file modificato: ”
read pathFileMod
done

# leggo quante righe ha il file e mi salvo il
# numero ottenuto nella variabile “tr”
tr=`wc -l $pathFileOrig | awk ‘{ print $1 }’`

# inserisco il file originale in un array
# commentando le righe doppie successive
# alla prima trovata.
let i=1
let z=1
let j=1
while read riga
do
for j in `seq 1 $z`;do
if [ $i = “1” ]
then
array[i]=$riga
elif [[ $riga = “${array[j]}” ]]
then #se uguale
array[i]=’# ‘$riga
break
else #se diverso
array[i]=$riga
fi
done
let i=i+1
let z=i-1
done < $pathFileOrig

# traferisco i dati presenti nell’array
# nel file “pathFileMod”
for u in `seq 1 $tr`
do
echo ${array[u]} >> $pathFileMod
done

Purtoppo l’indetazione è quello che è…

Pubblicato da: unicatout | luglio 20, 2008

VMware Workstation 6 su Ubuntu 8.04

Installare VMware Workstation 6.0.3 80004

Questo articolo vuole essere una semplice guida all’installazione di VMware Workstation su Ubuntu 8.04; quindi non mi soffermerò in spiegazioni dettagliate su cos’è un software di virtualizzazione, a cosa serve e sull’utilizzo che ne viene fatto al giorno d’oggi.

INSTALLAZIONE:

1. Installare i pacchetti linux-headers, build-essential e gcc, necessari per la compilazione del modulo del kernel vmware digitando il seguente comando:

sudo apt-get install linux-headers-$(uname -r) build-essential gcc-3.4

2. Scaricare VMware Workstation dal sito ufficiale

3. Scaricare la patch vmware-any-any-update116

4. Scompattare i due files scaricati

5. Da terminale posizionarsi all’interno della cartella ottenuta dalla scompattazione dell’archivio VMware-workstation-6.0.3-80004.i386.tar.gz e lanciare l’installazione:

sudo ./vmware-install.pl

rispondere alle varie domande lanciando impostate le risposte di default; ad un certo punto l’installazione verrà abortita.

6. Da terminale posizionarsi all’interno della cartella vmware-any-any-update116 e lanciare l’installazione della patch:

sudo ./runme.pl

7. Riavviate il sistema (alcune volte senza aver riavviato mi ha crashato)

L’installazione di VMware Workstation è stata ultimata; ora basterà inserire il seriale del prodotto per poter successivamente creare le macchine virtuali. Buona virtualizzazione!!!

Pubblicato da: unicatout | luglio 11, 2008

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Categorie

Progetta un sito come questo con WordPress.com
Comincia ora