2016-04-27 16 views
0

私は非常に恐ろしい探しのtxtファイルを持っていて、ファイルの内容を再フォーマットする方法を探しています。ファイルの例は、私が「引用符で文字を読んで」とその後、英数字順に、コロンの後に以下の値を印刷できるようにしたいバッチファイル - txtファイルを読み込んでテキストを再フォーマットする

{'4': 20947, 's': 3263, '6': 20837, 'A': 3490, 'U': 3467, 'g': 3277, 'd': 3245, 'H': 3534, 'Y': 3534, 'm': 3297, 'r': 3400, 'u': 3157, 'X': 3501, 'i': 3354, '2': 21012, 'V': 3398, '3': 20864, 'G': 3528, 'M': 3540, '\n': 30212, 'n': 3296, 'T': 3620, 'R': 3500, 'j': 3205, 'W': 3512, 'N': 3483, 'v': 3260, 'I': 3488, 'e': 3179, 'w': 3290, 'P': 3575, '0': 9455, 'L': 3473, 'q': 3284, '1': 21093, 'b': 3216, '9': 18626, 'F': 3494, '8': 20916, '7': 20746, 'x': 3231, 'o': 3162, 'y': 3295, '5': 21467, 'p': 3245, 'E': 3535, 'Q': 3345, 'K': 3619, 'h': 3320, 'f': 3295, 'l': 3284, 'D': 3590, 'c': 3258, 'C': 3473, 'k': 3213, 'a': 3023, 'J': 3504, 't': 3246, 'O': 3463, 'S': 3522, 'B': 3514} 

下に表示されます。たとえば、次のように簡単にするため

a: 1233 
A: 2345 
b: 1023 
B: 1542 
c: 2415 
# And so on.... 

は、私はバッチファイルを経由してこれを行うことは理想的であろうと思った、しかし、これを行うことについては移動する方法がわからない - すべてのヘルプは素晴らしいだろう!

+1

ソース・ファイル内の番号と宛先のものとの間に何らかの関係があるのでしょうか? – Stephan

+0

ええ、ソースファイル内の宛先と同じ番号だけです。謝罪、私の例では正確にこれを示していませんでした。ソースファイルには、別のテキストファイルからの個々の文字の出現回数が含まれています。私はただそれをより良いフォーマットにしたいだけです。 – Klicker

答えて

3

不要なすべてのチャプタを削除してから、平文forを解析します。出力をソートする。

@echo off 
<input.txt set /p line= 
set line=%line:{=% 
set line=%line:}=% 
set line=%line:'=% 
set line=%line: =% 
((for %%i in (%line%) do @echo %%i)|sort)>output.txt 
+0

これはまさに私が助けてくれたものです。 これは、コンソールに希望のフォーマットを印刷します。これをファイルに印刷するにはどうしたらいいですか?私を許しなさい、cmdのnoobの幾分! – Klicker

+0

はファイルにリダイレクトされます。完全な 'for'ループの出力が必要なので、それを括弧で囲んで、すべてを一度にリダイレクトすることができます。私の編集を参照してください。 – Stephan

+0

私はそれを見ると分かりますので、助けてくれてありがとう! – Klicker

0

あなたはコロンの後に表示されるスペースのために必要がある場合は、試してみてください:

@echo off 
setlocal enabledelayedexpansion 

<crackline.txt set /p line= 

set line=%line:{=% 
set line=%line:}=% 
set line=%line:'=% 
set line=%line: =% 

for %%i in (%line%) do (
    set L=%%i 
    @echo !L::=: ! 
)