Örneğin, birkaç bin satırdan 100.000 satıra yakın veri aralığına kadar değişen farklı veri bölgeleri içeren RawData.txt adlı bir arabirim dosyasına sahibim.
Örneğin içeren bir çizgi karışımı var
01 0000000000000000000000000000000198699 XYZ
0'dan farklı int değerlerine sahip olan ve zaman zaman değiştirilmesi gerekenler
01 0000000000000000000000000000000000000 XYZ
ancak int değerinin 01 ve XYZ imleyicileri arasındaki değişkenliği nedeniyle, bir metin editöründe yalındır ve bulmacanın çalışmaz.
Yönlendirmem gereken kısım aşağıdaki gibi yapılandırılmıştır:
01 00000000000000000000000000000198699 XYZ
02 157
01 00000000000000000000000000000007749 XYZ
02 158
01 00000000000000000000000000000183279 XYZ
02 163
01 00000000000000000000000000000007749 XYZ
02 165
01 00000000000000000000000000000000000 XYZ
02 175
İdeal olarak, 01 kayıt işaretçisi ile başlayan .txt dosyasındaki tüm satırları arayan ve satırın yerini alan bir toplu iş dosyası oluşturmaya çalışıyorum:
01 0000000000000000000000000000000000000 XYZ
En ileri yaklaşımın, ile başlayan satırları bulmak olduğunu farz ediyorum. 01 işaretleyiciyi kaydedin ve tüm verileri değiştirin çünkü uzunluk mevcut verilerde değişiklik yapıldıktan sonra aynı olmalıdır.
Örneklerden biri, buradaki örnekte olduğu gibi bir dize diğeriyle değiştirmekle ilgili buldum
ve
ancak toplu iş dosyasından ihtiyacım olanı gerçekleştirmek için değişiklik yapamıyorum.
Herhangi bir tavsiye takdir edilmektedir.
[0-9]*
ve göreceksiniz ki bu rakam dizisiyle uyuşacak. Ancak bir toplu iş dosyası veya herhangi bir dil de istediğinizi yapabilir.
@for /f "tokens=1,2 delims= " %%f in (a.a) do @IF "%%f"=="01" (echo 01 00000000000000000000000000000000000 XYZ) ELSE IF NOT "%%f"=="01" ECHO %%f %%g
abc[multiple spaces]def
ve abc'yi ilk belirteç olarak kabul eder ve ikinciyi def olarak tanımlar. Bu yüzden sınırlayıcı olarak bir boşluk veya bitişik boşlukların bir dizisini sayar. Daha iyi anlamak istiyorsanız, basit örnekler kullanmaya değer.
01
ve000...
alanlar. Hangisi doğru? Her ikisi de olabilir mi? Yeni dizge aynı sayıda boşluk gerektiriyor mu?