Salve,:) ed eccomi qui.

è possibile rinominare un file che, questo file però contiene un diverso nome,chiedo scusa non riesco a spiegarmi ecco perchè non ho fatto un minimo di ricerca. faccio un esempio:

comando per rinominare:

 mv /home/user/nome_file /home/user/nuovo_nome

è possibile,tipo mettere in una variabile "se dico bene" più nomi cioè nome_file,nome_file1,nome_file2, e all'occorrenza sostituirlo con nuovo_nome

Grazie Saluti

chiesto 31 Gen, 15:59

Davide_74's gravatar image

Davide_74
617235772


Puoi assegnare a una variabile (o a più di una) il valore 'nome_file' e poi utilizzare la variabile.

AA="nome_file1"
BB="nome_file2"
CC="nome_file3"

mv /home/user/$AA /home/user/nuovo_nome_file
mv /home/user/$BB /home/user/nuovo_nome_file
mv /home/user/$CC /home/user/nuovo_nome_file

Se inoltre hai necessità che rimanga persistente, puoi dichiararla (o dichiararle) nel ~/.bashrc.

Molto più semplicemente, se come hai spiegato in seguito è il nome dello stesso file a cambiare, ti basta utilizzare una wildcard per rinominarlo:

mv nome_file* nuovo_nome_file
coll. permanente

ha risposto 01 Feb, 08:32

cialu's gravatar image

cialu
1.1k21428

modificato 01 Feb, 11:11

Intanto Grazie per la risposta

sicuramente sono io che non riesco a metterlo in opera sembra non funzionare,ho fatto una prova sulla Scrivania,ho creato 3file sulla Scrivania ed è venuto così:

AA="/home/user/Scrivania/nome_file1"
BB="/home/user/Scrivania/nome_file2"
CC="/home/user/Scrivania/nome_file3"

mv /home/user/Scrivania/nome_file /home/user/Scrivania/$AA
mv /home/user/Scrivania/nome_file /home/user/Scrivania/$BB
mv /home/user/Scrivania/nome_file /home/user/Scrivania/$CC

incollato tutto nel terminale e non funziona,nome_file diventa/dovrebbe nome_file1 giusto?

(01 Feb, 09:43) Davide_74 Davide_74's gravatar image

AA="nome_file1" è diverso da AA="/home/user/Scrivania/nome_file1", quindi dovresti dare mv /home/user/Scrivania/nome_file $AA se desideri utilizzare la seconda opzione. Inoltre nel terminale devi inserire una riga alla volta per evitare errori.

(01 Feb, 09:47) cialu cialu's gravatar image

niente da fare non riesco a metterlo in opera:(

faccio un altro esempio nella speranza di una soluzione più elementare.

sulla Scrivania tengo un file e questo file può avere diversi nomi cioè per il momento fino a 10 nomi diversi quindi n1,n2,n3,n4,n5,n6,n7,n8,n9,n10 e questo file che ripeto può avere diversi nomi lo vorrei rinominare sempre con lo stesso nome. sulla scrivania c'è n1 e diventa nome_file,c'è n2 e diventa nome_file,c'è n10 diventa nome_file

(01 Feb, 10:23) Davide_74 Davide_74's gravatar image

Allora ti basta utilizzare una wildcard: mv n* nome_file

(01 Feb, 10:41) cialu cialu's gravatar image

chiedo perdono @cialu GRAZIE per l'interessamento "cmq"

n1,n2 ho fatto un esempio i nomi sono altri/diversi,ecco perchè ho pensato a mettere tutti i 10 nomi in una variabile e all'occorrenza sostituire con nome_file.mi viene in mente forse con l'aiuto di grep? comunque se l'esempio della risposta è giusto,e sono io che non riesco a metterlo in opera dammi conferma ed accetto anche la risposta come giusto che sia

Grazie

(01 Feb, 11:05) Davide_74 Davide_74's gravatar image

Credo di aver capito, forse tu avevi necessità del procedimento inverso. Ho modificato la risposta, vedi se così ti funziona.

(01 Feb, 11:13) cialu cialu's gravatar image

funziona,però devo aggiungere * a tutti i nomi dei 10 file giusto? e non solo anche nuovo_nome_file diventa nuovo_nome_file*

(01 Feb, 11:13) Davide_74 Davide_74's gravatar image

No, il wildcard serve per completare nomi che in parte sono identici: invece di n1, n2, n3 puoi usare n* per recuperarli tutti. Nel tuo caso se i nomi sono diversi, dovrai specificare il nome diverso ogni volta e il wildcard non è necessario. A questo punto, dovrebbe però funzionare la soluzione con le variabili.

(01 Feb, 11:16) cialu cialu's gravatar image

infatti no, :( serve la variabile

cmq Grazie

Saluti

(01 Feb, 11:24) Davide_74 Davide_74's gravatar image

ultima cosa @cialu quando hai tempo,puoi provare tu nel terminale e poi mi posti il risultato,di come applicare la variabile e come fa mv a leggere la variabile

Grazie Saluti

(01 Feb, 12:13) Davide_74 Davide_74's gravatar image

Ricorda di mettere il simbolo del dollaro ($). Non lo devi utilizzare nella assegnazione, ma durante l'uso della variabile si.

(01 Feb, 12:16) cialu cialu's gravatar image

Ecco un esempio veloce:

cialu@razen:~/test$ ls
nome_file1  nome_file2
cialu@razen:~/test$ AA="nome_file1"
cialu@razen:~/test$ BB="nome_file2"
cialu@razen:~/test$ mv $AA pinco
cialu@razen:~/test$ mv $BB pallino
cialu@razen:~/test$ ls
pallino  pinco
(01 Feb, 12:20) cialu cialu's gravatar image

Grazie cmq non riesco a metterlo in opera non faccio ulteriori domande per non disturbarti più tanto

Saluti

(03 Feb, 15:00) Davide_74 Davide_74's gravatar image

Stamani a mente molto più lucida,ho capito come metterlo in opera :) quindi è venuto così l'esempio, che poi metterò in pratica:

#!/bin/bash

cd /home/user/Scrivania

AA="prova"
BB="prova1"
CC="prova2"
DD="prova3"
EE="prova4"
FF="prova5"
mv $AA nuovo_nome & mv $BB nuovo_nome & mv $CC nuovo_nome & mv $DD nuovo_nome & mv $EE nuovo_nome & mv $FF nuovo_nome

sembra funzionare,ho provato a cambiare il comando da mv a cp ed ho fatto così:

cp $AA /percorso/file/nuovo_nome non funziona,meglio fare un altra domanda :(
(06 Feb, 13:18) Davide_74 Davide_74's gravatar image
La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×93

domanda posta: 31 Gen, 15:59

domanda visualizzata: 179 volte

ultimo aggiornamento: 06 Feb, 13:24

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.