Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-02-14 11:28:39

  DeWu - Użytkownik

DeWu
Użytkownik
Zarejestrowany: 2013-03-26

Zamiana w plikach rekurencyjnie

Powóżcie panowie bo dopadła mnie totalna amnezja. Potrzebuję pozmieniać w wielu plikach znajdujacych się w katalogach i sugkatalogach wyrażenie 'logo.png' na 'obrazek.gif' Wiem, że można to zrobić jednym poleceniem grep albo sed tylko wyleciało mi to z głowy. Googlowałem i jedyne co znalazłem to albo polecenia nie działajace rekurencyjne lub jakieś dziwne pętle wykorzystujące for albo finda.

Offline

 

#2  2016-02-14 11:43:54

  pink - Użytkownik

pink
Użytkownik
Skąd: P17PY93
Zarejestrowany: 2005-09-16

Re: Zamiana w plikach rekurencyjnie

nie wiem, ale mniemam ze to strona html????


T430 think-box 4.9-custom x86_64 Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz GenuineIntel GNU/Linux
"Doktor plama i maharadża są pod złotym leszczem." "Człowieka od zwierzęcia odróżnia ciekawość świata. Patrze słucham i wyciągam wnioski."
https://www.behance.net/przemyslawmamon

Offline

 

#3  2016-02-14 11:47:46

  DeWu - Użytkownik

DeWu
Użytkownik
Zarejestrowany: 2013-03-26

Re: Zamiana w plikach rekurencyjnie

Tak a właściwie cały site który dostałem do przerobienia

Offline

 

#4  2016-02-14 12:17:25

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zamiana w plikach rekurencyjnie

Pętla jest koniecznością, jeśli chcesz przerobić kilka plików.

np

Kod:

find $PWD -type f -iname '*.html' | while read $plik; 
do sed 's/logo.png/obrazek.gif/g' $plik; done;

Przed majstrowaniem z plikami zrób sobie kopię zapasową, żeby nie było przypału w razie czego.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2016-02-14 12:24:13

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Zamiana w plikach rekurencyjnie

nie trzeba żadnej pętli. w skrócie:

Kod:

find cośtam -exec sed cośtam '{}' ';'

Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#6  2016-02-14 12:26:59

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zamiana w plikach rekurencyjnie

ethanak napisał(-a):

nie trzeba żadnej pętli. w skrócie:

Kod:

find cośtam -exec sed cośtam '{}' ';'

Pętla wtedy też jest, tylko wewnętrzna, wykonana przez finda dla każdego wyniku z osobna.
;)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2016-02-14 12:35:09

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Zamiana w plikach rekurencyjnie

życzę powodzenia w przypadku spacji w nazwie pliku.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#8  2016-02-14 12:41:11

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zamiana w plikach rekurencyjnie

ethanak napisał(-a):

życzę powodzenia w przypadku spacji w nazwie pliku.

Pod tym warunkiem, że jakaś występuje, osobiście dawno takowego przypadku nie widziałem na serwerach www, ale zgoda, teoretycznie możliwe.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2016-02-14 13:12:42

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Zamiana w plikach rekurencyjnie

ja już nie takie rzeczy widziałem - pamiętam jak gościowi mieliśmy zgrać stronę na cd do jakiegoś pokazu. oczywiście zero wejścia na ftp, wget się wyłożył już na index.html, teleport jakoś sobie poradził ale trzeba było dopisać kawałek pythona coby zarówno nazwy jak i linki poprawić.
tak że wolę dmuchać na zimne.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#10  2016-02-14 13:15:38

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zamiana w plikach rekurencyjnie

W takim radziłbym zmodyfikować (wzbogacić o dodatkowego seda), tego skrypcia:

Kod:

#!/bin/bash
for f in *\ *; do mv "$f" "${f// /_}" 2>/dev/null; done;
exit 0;

Bardzo grzecznie zmienia spacje na podkreślenia w nazwach plików.

Ja pewnie dlatego plików ze spacjami nie widuję, że zazwyczaj jest jakiś skrypt  PHP, które wsio generuje w locie, albo często sam plików ze spacjami nie obrabia. :D

Ostatnio edytowany przez Jacekalex (2016-02-14 13:19:11)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#11  2016-02-14 13:23:00

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Zamiana w plikach rekurencyjnie

to też nie pomoże jeśli masz nazwy plików typu "żółć żółwia.html" kodowane w 1250 :)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#12  2016-02-14 13:26:07

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zamiana w plikach rekurencyjnie

ethanak napisał(-a):

to też nie pomoże jeśli masz nazwy plików typu "żółć żółwia.html" kodowane w 1250 :)

Na takie problemy to jest enca w repo.

https://dug.net.pl/drukuj/124/%C5%82atwa_konwersja_ … _i_nie_tylko/


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#13  2016-02-14 13:29:14

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Zamiana w plikach rekurencyjnie

pierwsze słyszę o wbudowaniu enca do wgeta...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#14  2016-02-14 13:31:19

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zamiana w plikach rekurencyjnie

ethanak napisał(-a):

pierwsze słyszę o wbudowaniu enca do wgeta...

A kto tobie każe do wgeta?

Takie rzeczy to się na serwerze robi, gdzie taki bajzel urzęduje.
Poza tym i tak wolę rsynca, jeżeli da się go użyć.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#15  2016-02-14 13:47:54

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Zamiana w plikach rekurencyjnie

ech... chyba nie byłeś jeszcze w sytuacji klient - handlowiec - szef - programista...
handlowiec naobiecywał bajek, klient dostępów nie da bo nawet jakby chciał (a nie chce) to i tak jego informatyk jest na urlopie i hasła są jego słodką tajemnicą, szef się wnerwia bo debil handlowszczyk już umowę podpisał no a ethanak ma ten syf ogarnąć bo za trzy godziny przyjeżdża koleś od klienta żeby mu płytkę zawieźć na lotnisko bo wyjeżdża do sierra leone gdzie internet ma tylko król i naczelny minister od sprawiedliwości...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#16  2016-02-14 14:01:04

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Zamiana w plikach rekurencyjnie

Przypały to ja miałem podobne, w różnych dziedzinach.
W każdym razie do handlowców trzeba mieć troszkę asertywności.

Co do pliku typu "żażółć gęślą jaźń" w CP1250, to jeśli dało się coś podobnego wgrać przez FTPa, to pewnie da się też tą samą drogą wyciągnąć.
Aczkolwiek to nie są zbyt częste przypadki, o wiele częściej zdarzają się terroryści typu "mam zdjęcia zgrane na płytkę DVD, jak tą płytkę wgrać do was przez ftp, bo próbowałem 11 razy i się nie udało".


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#17  2016-02-14 14:18:25

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Zamiana w plikach rekurencyjnie

asertywność do handlowców... chyba jestem wystarczająco asertywny bo nawet najbardziej egzotyczne okazy ze wszystkimi zębami chodzą (chociaż jeden jak naobiecywał to dostał zlecenie wprowadzenia obiecanych danych i po miesiącu wymiękł, następny poleciał na zbity pysk za całokształt działalności).
co do ftp - jakbym miał hasło to może bym nie robił problemów... ale bez tego drobiazgu ftp jakoś słabo działa :(


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)