Bir Linux CentOS sisteminde, dosyaların bir listesini tekrarlamak ve dosyaların ilk satırına metin eklemek gerekir.


0

Metni <?php bir listedeki php dosyalarının başına ekleyebilmem gerekiyor .


1
PHP kodu mu istiyorsun? Şimdiye kadar ne denedin?
Karan

Maalesef, bazı backticks ekleyene kadar <? Php satırından sonra her şeyi basamadığı metni değiştirmek zorunda kaldım. Çevrimiçi çalıştığım araştırmaların çoğu sed veya awk ile yapıldı ve bir örnek PERL'deydi. Bu sorunu çözdüğüm sürece hangi dili kullanacağım üzerinde yoğunlaşmıyorum. Clam AV bu enfeksiyonu düzeltmiş olsaydı iyi olurdu.
supernix

1
Sorunuzun işletim sisteminin ne olduğunu belirtmesi iyi olurdu. . . yapmak istediğiniz asıl görev, birkaç dosyanın başında bir metin dizisi eklemek gibi görünüyor ve değiştirmek istediğiniz dosya adlarının bir listesi var. Bu doğru mu?
ernie

Bu doğru. Konu işletim sistemi, bir CentOS Linux kurulumu. Evet, metin dosyası klasör konumuna ve dosya adına göre satır satır biçimindedir. Dosyalardan eval base64 kodunu temizlemek için bir temizleme komut dosyası koştum, sonra sadece sorunu temizlenmiş olan dosyaları içeren bir metin dosyası yaptım <?php, sabitlenmiş dosyaların üstüne koymadı .
supernix

Yanıtlar:


0

'Metni <?phpekle' diyorsunuz, ancak bence 'hazırlayın' demek istediniz.

Belki de soruyu yanlış anladım, ancak bu sorununuzu çözmelidir:

for FileName in * ; do (echo "<?php" ; cat $FileName) > corrected_$FileName ;done

Bu, 'corrected_' ile önceden eklenmiş olanlar hariç aynı adda bir sürü dosya oluşturacaktır. Eğer dosyaları kendileri değiştirmek isterseniz, o zaman bunu yapabilirsiniz:

for FileName in * ; do (echo "<?php" ; cat $FileName) > /tmp/corrected ; mv -f /tmp/corrected $FileName ;done

... ama istediğinin bu olduğundan emin ol.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.