[+] Perl lub inne narz

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
DaVidoSS
Junior Member
Posty: 875
Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/

[+] Perl lub inne narzędzie no zmiany wzorca na wynik polecenia

Post autor: DaVidoSS »

Próbuję użyć jakiegoś programu który odnalazłby i zamieniłby w pliku tekstowym każdą
frazę "user" na wynik polecenia:

Kod: Zaznacz cały

 whoami
Próbowałem użyć perl-a na takim przykładzie:

Kod: Zaznacz cały

perl -pi -e 's/user/$(whoami)/g' JDownloader.desktop.

Program odnajduje ciąg znaków "user" ale z podmianką na wynik polecenia whoami nie daje rady, albo też ja źle to wykonuję.

Kod: Zaznacz cały

davidoss-squeeze@debian-squeeze:~/Pulpit$ cat JDownloader.desktop 
[Desktop Entry]
Comment[pl]=
Comment=
Exec=/home/[B]1000 24 25 27 29 30 44 46 1000whoami)[/B]/jd.sh
GenericName[pl]=
GenericName=
Icon=/home/[B]1000 24 25 27 29 30 44 46 1000whoami)[/B]/.jd/jd/img/logo/jd_logo_54_54.png
MimeType=
Name[pl]=JDownloader
Name=JDownloader
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

Proszę o pomoc! Jak by to prawidłowo ująć?.
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Tak:

Kod: Zaznacz cały

cusr=`whoami`; sed "s/user/$cusr/g" tmp2
Resztę przystosuj na swoje potrzeby ;)
Awatar użytkownika
DaVidoSS
Junior Member
Posty: 875
Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/

Post autor: DaVidoSS »

Dziękuję za odpowiedź. Działa wyśmienicie:

Kod: Zaznacz cały

davidoss-squeeze@debian-squeeze:~/Pulpit$ cat JDownloader.desktop 
[Desktop Entry]
Comment[pl]=
Comment=
Exec=/home/[B]user[/B]/jd.sh
GenericName[pl]=
GenericName=
Icon=/home/[B]user[/B]/.jd/jd/img/logo/jd_logo_54_54.png
MimeType=
Name[pl]=JDownloader
Name=JDownloader
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

Kod: Zaznacz cały

davidoss-squeeze@debian-squeeze:~/Pulpit$ cusr=`whoami`; sed "s/user/$cusr/g" < JDownloader.desktop > JDownloader.desktop.temp ; rm JDownloader.desktop ; mv  JDownloader.desktop.temp JDownloader.desktop

Kod: Zaznacz cały

davidoss-squeeze@debian-squeeze:~/Pulpit$ cat JDownloader.desktop
[Desktop Entry]
Comment[pl]=
Comment=
Exec=/home/davidoss-squeeze/jd.sh
GenericName[pl]=
GenericName=
Icon=/home/davidoss-squeeze/.jd/jd/img/logo/jd_logo_54_54.png
MimeType=
Name[pl]=JDownloader
Name=JDownloader
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
ODPOWIEDZ