Scrivo perché ho difficoltà con la realizzazione di uno script bash che credevo banale ma mi sta dando problemi che non riesco a capire. La specifica è la seguente, sotto posto la mia soluzione e l'errore che davvero non capisco segnalatomi dal terminale.
Mia soluzione:Realizzare uno script bash che riceva due parametri:
* il nome di un utente del sistema
* il nome di un direttorio.
Lo script deve riconoscere tutti i file dell'utente specificato
che si trovano nel direttorio indicato e che contengono (almeno)
una riga che comincia con la stringa
"***Da modificare"
In tali file occorre:
* cancellare tale riga
* appendere al nome del file stesso la stringa "_mod".
Codice: Seleziona tutto
#! /bin/bash
for file in $(find $2 -user$1); do
if grep -lnq "^***Da modificare" $file
then
more $file
sed -i "/$line/g" $file
mv "$file" "${file}_mod"
fi
done
exit 0Non capisco dove abbia sbagliato ma ho davvero necessità di chiarirlogrep: /home/jimmy/esame/dir2: È una directory /questa è la directory che gli passo come argomento.. ???
mv: impossibile eseguire stat di '$file': File o directory non esistente
mv: impossibile eseguire stat di '$file': File o directory non esistente
mv: impossibile eseguire stat di '$file': File o directory non esistente

