Sida 1 av 1

rekursivt med prename

Postat: 17 dec 2010, 21:56
av fashoin
Jag funderar på hur jag ändrar alla mellanslag till understreck rekursivt med prename?

Antar att de blir något sånt här

Kod: Markera allt

prename 's/ /_/g'
men jag är osäker på hur jag löser detta så att den går ner och kör på alla undermappar och filer!

Re: rekursivt med prename

Postat: 17 dec 2010, 22:04
av Konservburk
fashoin skrev:men jag är osäker på hur jag löser detta så att den går ner och kör på alla undermappar och filer!
Då är det find du vill använda.

Re: rekursivt med prename

Postat: 17 dec 2010, 22:10
av fashoin
Konservburk skrev:
fashoin skrev:men jag är osäker på hur jag löser detta så att den går ner och kör på alla undermappar och filer!
Då är det find du vill använda.
ok, hur blir kommandot då?

Re: rekursivt med prename

Postat: 17 dec 2010, 22:24
av Konservburk
Om du har ett färdigt kommando som du vill köra på alla underkataloger och filer så grundidén att du sätter find -exec framför kommandot och {} + efter kommandot.

Sen kanske du vill begränsa find lite för att snabba upp det hela genom att t.ex. bara skicka vidare filer vars filnamn faktiskt innehåller mellanrum, men sådant är egentligen bara detaljer.

Re: rekursivt med prename

Postat: 18 dec 2010, 00:31
av fashoin
Konservburk skrev:Om du har ett färdigt kommando som du vill köra på alla underkataloger och filer så grundidén att du sätter find -exec framför kommandot och {} + efter kommandot.

Sen kanske du vill begränsa find lite för att snabba upp det hela genom att t.ex. bara skicka vidare filer vars filnamn faktiskt innehåller mellanrum, men sådant är egentligen bara detaljer.

cool! kanske skall läsa på "find" lite då!
ingen som vet nån bra howto!?

Re: rekursivt med prename

Postat: 27 dec 2010, 13:51
av fashoin
då blir ju mitt kommando följande och fungerar jätte bra men jag undrar vart i kommandot jag skriver sökvägen?

Kod: Markera allt

find -exec prename 's/ /_/g' {} +
Skulle villja lägga in detta i crontab så det körs på utvalta mappar varje timma!

Re: rekursivt med prename

Postat: 02 jan 2011, 20:41
av Konservburk
fashoin skrev:då blir ju mitt kommando följande och fungerar jätte bra men jag undrar vart i kommandot jag skriver sökvägen?

Kod: Markera allt

find -exec prename 's/ /_/g' {} +
Sökvägen petar du in direkt efter find, dvs innan -exec.
fashoin skrev:Skulle villja lägga in detta i crontab så det körs på utvalta mappar varje timma!
Är detta menat som en fråga?

Re: rekursivt med prename

Postat: 02 jan 2011, 21:49
av fashoin
Konservburk skrev:
fashoin skrev:då blir ju mitt kommando följande och fungerar jätte bra men jag undrar vart i kommandot jag skriver sökvägen?

Kod: Markera allt

find -exec prename 's/ /_/g' {} +
Sökvägen petar du in direkt efter find, dvs innan -exec.
fashoin skrev:Skulle villja lägga in detta i crontab så det körs på utvalta mappar varje timma!
Är detta menat som en fråga?
Yes it is! men utan frågetecken såg ja =)

Re: rekursivt med prename

Postat: 05 jan 2011, 13:01
av Konservburk
Det ska inte vara svårare än att köra crontab -e och lägga till en rad som börjar med en tal mellan 0 och 59 följt av 4 stycken * följt av kommandot du vill köra.

8 * * * * * find /en/utvald/mapp /en/annan/utvald/mapp /en/tredje/utvald/mapp -exec osv

Re: rekursivt med prename

Postat: 05 jan 2011, 22:48
av fashoin
Konservburk skrev:Det ska inte vara svårare än att köra crontab -e och lägga till en rad som börjar med en tal mellan 0 och 59 följt av 4 stycken * följt av kommandot du vill köra.

8 * * * * * find /en/utvald/mapp /en/annan/utvald/mapp /en/tredje/utvald/mapp -exec osv
ok så om man har typ 300 mappar med 300 undermappar så blir kommandot ganska långt! tänkte kanske prename hade något i stil med -R eller nått!