Ciao ragazzi,
il problema è banale, ma non mi riesce di risolverlo.
Sto scrivendo un piccolo script che a partire dai files scaricati tramite swaret --get -a, mi permetta di spostare i files vecchi in un altra directory.
Semplicemente lo script dovrebbe operare sui files, ad esempio, all'interno di /var/swaret/repos/Slacky.it con l'elenco dei files tratto dall'ultimo FILELIST.TXT.
All'uopo pensavo di operare così:
---
lista=/var/sware/repos/mom/lista_Slacky
for pacchetto in $(ls /var/swaret/repos/Slacky.it); do
if grep -q $pacchetto $lista
then
echo "" #non fare nulla
else mv /var/swaret/repos/Slacky.it/$pacchetto altradirectory
fi
done
--
il risultato è una bella serie di:
--
grep: Unmatched [ or [^
--
Dove sbaglio?
bash: ciclo for su ls
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- venerdi_12
- Packager
- Messaggi: 258
- Iscritto il: sab 9 lug 2005, 0:00
- Nome Cognome: Luciano Fattore
- Kernel: 3.0
- Desktop: kde-4.7.0
- Distribuzione: archlinux
- Località: Lusciano (Ce)
- albatros
- Iper Master
- Messaggi: 2093
- Iscritto il: sab 4 feb 2006, 13:59
- Kernel: 5.19.0
- Desktop: gnome and lxqt
- Distribuzione: ubuntu 22.04
- Località: Darmstadt - Germania
Mah, ho provato una mezz'ora fa con uno script simile e non ho avuto problemi nel non mettere le parantesi...
Ho pensato anch'io a quello e anche a come ls raggruppa i dati, pensando magari di sostituirlo con dir -1, ma anche qui non c'era differenza...
Ho pensato poi che magari ci fosse un errore di battitura (/var/sware al posto di /var/swaret), ma l'errore restutuito da grep è che non trova il file...
Forse è un problema di simboli di formattazione del testo...
Con cosa è stato editato?
L'errore credo sia comunque nel modo in cui grep riceve i dati da elaborare, perlomeno dal messaggio di errore riportato...
Facendo una rapidissima ricerca con google, ho trovato in
http://www.linuxjournal.com/article/1149
la segnalazione che tale errore grep lo dà quando incontra un [ non protetto da backslash...
Non è che nell'input ci sono questi caratteri?
Ho pensato anch'io a quello e anche a come ls raggruppa i dati, pensando magari di sostituirlo con dir -1, ma anche qui non c'era differenza...
Ho pensato poi che magari ci fosse un errore di battitura (/var/sware al posto di /var/swaret), ma l'errore restutuito da grep è che non trova il file...
Forse è un problema di simboli di formattazione del testo...
Con cosa è stato editato?
L'errore credo sia comunque nel modo in cui grep riceve i dati da elaborare, perlomeno dal messaggio di errore riportato...
Facendo una rapidissima ricerca con google, ho trovato in
http://www.linuxjournal.com/article/1149
la segnalazione che tale errore grep lo dà quando incontra un [ non protetto da backslash...
Non è che nell'input ci sono questi caratteri?