Aynı anda birden fazla metin dosyasına artan veya azalan sayıları eklemenin bir yolu var mı?


0

Böyle bir metin içeren 100 not defteri dosyası var:

"john eve gidiyor
, kapı numarası 0001 "

Not: 100 metin belgesinin tümüne 0001 veya başka bir numara uygulanmıştır.

Kalan tüm dosyalarda, kapı numarası 0002, 0003, 0004 vb. bir. Notepad ++ 'da değiştirme seçeneği var ancak nasıl çalışılacağı hakkında hiçbir fikrim yok ve bunun yapılabileceğinden emin değilim. Bu şüphe Notepad ++ ile düzeltilebilir mi? veya bunu yapmak için başka bir yazılım var mı?


Yani text1.txtolurdu "john is going home his door number is 0001", text2.txtolurdu "john is going home his door number is 0002", text3.txtolurdu "john is going home his door number is 0003"böylece, ve ... ya da hepsi olması gerekir "john is going home his door number is 0001"?
txtechhelp

Yanıt için teşekkürler. ilk tahminin doğru. text2.txt "john evine gidiyor, kapı numarası 0002", text3.txt "john evine gidiyor, kapı numarası 0003", vb.
Abd

Notepad ++ ile mümkün mü? veya herhangi bir öneri?
Abd

Normal ifadeleri kullanarak değerleri yakalamak ve değiştirmek için notepad ++ kullanabilirsiniz , böylece hepsini "john ... 0001" ile bulabilir ve değiştirebilirsiniz, ancak istediğiniz gibi artımlı bir değiştirme yapabilir misiniz bilmiyorum .. siz Ancak komut dosyası yazarken rahat ederseniz bunu VBScript ile oldukça kolay bir şekilde yapabilirsiniz ..
txtechhelp

Teşekkürler. Vbscript konusunda yeterince yetenekli değilim ama biraz biliyorum. Bu görev için bir çözüm bulmak için internet üzerinden zorlu bir araştırma yapmam gerektiğini düşünüyorum. bakalım. tekrar teşekkürler. :)
Abd

Yanıtlar:


0

Windows altında bir Unix ortamına mı yoksa Cygwin'e mi erişebildiğinizi bilmiyorum, ancak eski bir komut dosyasından geri dönüştürdüğüm bu küçük basık betiğin çalışacağını düşünüyorum:

#!/bin/bash

for line in {1..100}
    do
        digs=${#line}
        zeros=$((4 - $digs))
        zeros2=$(yes 0 | head -$zeros | paste -s -d '' -)
        numm=$zeros2$line
        printf "john is going home\nhis door number is %s\n" $numm > text$numm.txt
    done

Teşekkürler Cevikel, bu tam olarak aradığım yöntem, ancak henüz Unix ortamına ve Cygwin'e tanıdık gelmediği için henüz denemedim, bu yüzden önce Cygwin'i pencerelerin altına yerleştirmem gerekiyor, sonra çalışmanıza devam edecek. Bu bash betiğini Cygwin'den bir dosyaya nasıl kaydedeceğimi, sonra da nasıl çalıştıracağımı google’a çevireceğim. Neredeyse senden yardım aldım. Bir deneyeceğim sonra haberim olsun. u biraz daha zaman yedek lütfen izin yapabileceği varsa bana u Arkadaşına teşekkür bu dosyayı kaydetmek bilen ve kazanmak 7. çalıştırmak
Abd

Bu betiği Windows Kabuğuna taşımanın bir yolunu bulmaya çalışacağım.
Serhat Cevikel

umarım yapabilirsin
Abd

Cygwin'i Windows 7'nin altına kurdum. Bu bash betiğini nasıl çalıştıracağımı söyler misin? teşekkürler
Abd

Komut dosyasını bir dosyaya kaydedin (tercihen .sh uzantılı). İlk satır #!/bin/bash, kullanıcınızın varsayılan kabuğu bash ise olmalıdır. Senaryoyu çalıştırılabilir kılıyorsun chmod +x /path/to script. Şimdi betiğe giden yolu yazarak çalıştırabilirsiniz. Komut dosyasını her yerde çalıştırılabilir bir komut yapmak için $ PATH ortam değişkeninde belirtilen yollardan birine bir link vermelisiniz. Fox örneği:ln -s /path/to/script /usr/bin/your_command
Serhat Cevikel,
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.