Potrzebujesz pomocy z C, C++, perl, python, itp.
			
		
		
			
				
																			
								lupinek 							 
									
		Posty:  11  		Rejestracja:  16 kwietnia 2008, 23:11 		
		
						
						
		 
		
						
					
													
							
						
									
						Post 
					 
								autor: lupinek   »  12 listopada 2008, 13:19 
			
			
			
			
			
			Witam, próbuję napisać skrypt do zmiany nazw plików według schematu i nie bardzo wiem jak się do tego zabrać.
Chciałbym, aby plik o nazwie np.:
został zamieniony na:
Z góry dziękuję za wszelkie wskazówki.
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
								lis6502 							 
						Member 			
		Posty:  1798  		Rejestracja:  05 listopada 2008, 20:14 		
		
											Lokalizacja:  Miasto Szybowców 
							
						
		 
		
						
					
						 
		 
													
							
						
									
						Post 
					 
								autor: lis6502   »  12 listopada 2008, 15:28 
			
			
			
			
			
			Wskazówki, hmm. Na pewno awk, sed i grep do tego znajomości 'łapek' 
 i innych znaków kluczowych. Reszty grzechów nie pamiętam. W totalcmd pod Win jest takie coś jak multi-rename tool oparte o Delphi'kowatą bibliotekę 
TRegExpr  i tutaj zahaczyłbym się na początek.
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								lupinek 							 
									
		Posty:  11  		Rejestracja:  16 kwietnia 2008, 23:11 		
		
						
						
		 
		
						
					
						 
		 
													
							
						
									
						Post 
					 
								autor: lupinek   »  12 listopada 2008, 19:48 
			
			
			
			
			
			A trochę więcej szczegółów? Jestem zielony.
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
								lis6502 							 
						Member 			
		Posty:  1798  		Rejestracja:  05 listopada 2008, 20:14 		
		
											Lokalizacja:  Miasto Szybowców 
							
						
		 
		
						
					
						 
		 
													
							
						
									
						Post 
					 
								autor: lis6502   »  12 listopada 2008, 20:36 
			
			
			
			
			
			Na dobry początek
a potem na forum są gdzieś przyklejone poradniki co do basha. Poszukaj w programowaniu.
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								yakow 							 
									
		Posty:  52  		Rejestracja:  13 czerwca 2008, 09:30 		
		
						
						
		 
		
						
					
						 
		 
													
							
						
									
						Post 
					 
								autor: yakow   »  12 listopada 2008, 21:25 
			
			
			
			
			
			Tak na szybko. Sprawdź czy zadziała. Mnie dla paru fikcyjnie utworzonych plików według Twojego wzorca zadziałało.
Kod: Zaznacz cały 
#!/bin/bash
find $1 -name '* *' | while read FILE
do
        mv "$FILE" "`echo $FILE | awk '{print $1, 0$3,"-",$5}'`"
done
 
Można by jeszcze dodać, że jak jest nr filmu większy niż 9 to nie dodaje 0 (bo nam powychodzi 013 np.), ale muszę spadać, więc najwyżej dopiszę później jak bardzo potrzebujesz.
P.S.
To zmieni wszystkie pliki w danym katalogu według wzorca. Jeśli chcesz możesz zrobić w find np. filtr tylko dla avi albo mp3 albo co tam chcesz zechcesz.
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								lupinek 							 
									
		Posty:  11  		Rejestracja:  16 kwietnia 2008, 23:11 		
		
						
						
		 
		
						
					
						 
		 
													
							
						
									
						Post 
					 
								autor: lupinek   »  16 listopada 2008, 16:20 
			
			
			
			
			
			Ok, wielkie dzięki 
Mam jeszcze pytanie: jak wyświetlić na ekranie wszystkie wyrazy, zdania począwszy np. od 3, nie znając ich liczby?
np.:
i chciałbym wyświetlić wszystko zaczynając od 3 wyrazu, czyli:
z tym, że (...) oznacza dalsze wyrazy o nieznanej liczbie.
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								yakow 							 
									
		Posty:  52  		Rejestracja:  13 czerwca 2008, 09:30 		
		
						
						
		 
		
						
					
						 
		 
													
							
						
									
						Post 
					 
								autor: yakow   »  16 listopada 2008, 22:07 
			
			
			
			
			
			Nie jest to może za ładne i sprytne rozwiązanie, ale działa:
Kod: Zaznacz cały 
#!/bin/bash
#use: sh skrypt.sh "<tekst>" <nr_slowa>
echo $1 | cut -d " " -f $2-`echo $1 | wc -w`
Przykład:
Kod: Zaznacz cały 
wielo|eros:~ # sh skrypt.sh "Ala ma kota bla bla bla" 2
ma kota bla bla bla
ma kota bla bla bla
wielo|eros:~ # 
Wyświetli nam od drugiego (włącznie z drugim) do ostatniego słowa.
Pamiętaj, że ten tekst musisz podać w cudzysłowiach, bo inaczej lipa  ;-)
Edit:  Mała poprawka, zmieniłem użycie awk na wc, żeby było ładniej i krócej  :mrgreen:
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								lupinek 							 
									
		Posty:  11  		Rejestracja:  16 kwietnia 2008, 23:11 		
		
						
						
		 
		
						
					
						 
		 
													
							
						
									
						Post 
					 
								autor: lupinek   »  17 listopada 2008, 21:44 
			
			
			
			
			
			Czy mógłbyś ten fragment
przypisać do zmiennej? Próbuję i próbuję i ciągle coś jest nie tak z cudzysłowami czy innymi apostrofami. Nie wiem, pewnie gdzieś jakieś głupie przeoczenie...