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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
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
nie wiem, ale mniemam ze to strona html????
Offline
Tak a właściwie cały site który dostałem do przerobienia
Offline
Pętla jest koniecznością, jeśli chcesz przerobić kilka plików.
np
find $PWD -type f -iname '*.html' | while read $plik; do sed 's/logo.png/obrazek.gif/g' $plik; done;
Przed majstrowaniem z plikami [b]zrób sobie kopię zapasową[/b], żeby nie było przypału w razie czego.
Offline
nie trzeba żadnej pętli. w skrócie:
find cośtam -exec sed cośtam '{}' ';'
Offline
[quote=ethanak]nie trzeba żadnej pętli. w skrócie:
find cośtam -exec sed cośtam '{}' ';'
[/quote]
Pętla wtedy też jest, tylko wewnętrzna, wykonana przez finda dla każdego wyniku z osobna.
;)
Offline
[quote=ethanak]życzę powodzenia w przypadku spacji w nazwie pliku.[/quote]
Pod tym warunkiem, że jakaś występuje, osobiście dawno takowego przypadku nie widziałem na serwerach www, ale zgoda, teoretycznie możliwe.
Offline
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.
Offline
W takim radziłbym zmodyfikować (wzbogacić o dodatkowego seda), tego skrypcia:
#!/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)
Offline
to też nie pomoże jeśli masz nazwy plików typu "żółć żółwia.html" kodowane w 1250 :)
Offline
[quote=ethanak]to też nie pomoże jeśli masz nazwy plików typu "żółć żółwia.html" kodowane w 1250 :)[/quote]
Na takie problemy to jest enca w repo.
https://dug.net.pl/drukuj/124/%C5%82atwa_konwersja_z_iso_do_utf8___i_nie_tylko/
Offline
[quote=ethanak]pierwsze słyszę o wbudowaniu enca do wgeta...[/quote]
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ć.
Offline
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ę wkurwia 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...
Offline
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".
Offline
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 :(
Offline
Time (s) | Query |
---|---|
0.00015 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00121 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.119.19.205' WHERE u.id=1 |
0.00079 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.119.19.205', 1732307897) |
0.00060 | SELECT * FROM punbb_online WHERE logged<1732307597 |
0.00102 | DELETE FROM punbb_online WHERE ident='18.189.185.63' |
0.00080 | DELETE FROM punbb_online WHERE ident='3.135.190.244' |
0.00095 | SELECT topic_id FROM punbb_posts WHERE id=297501 |
0.00012 | SELECT id FROM punbb_posts WHERE topic_id=28278 ORDER BY posted |
0.00061 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28278 AND t.moved_to IS NULL |
0.00202 | SELECT search_for, replace_with FROM punbb_censoring |
0.01138 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28278 ORDER BY p.id LIMIT 0,25 |
0.00101 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28278 |
Total query time: 0.02071 s |