1

文字で満たされたテキストファイルがあります:

ABCABCABCABC

...そしてスクリプト (バッチ、VBS、Powershell、実際には Windows にとって単純なもの) を使用して、特定の文字 (この場合は文字 A) のすべてのインスタンスに対して新しい行を自動的に追加しようとしているため、出力は次のように表示されます。そのような:

ABC
ABC
ABC
ABC

上記のスクリプト ツールを使用してこれを行うにはどうすればよいでしょうか。

どうもありがとうございました。

4

5 に答える 5

6

パワーシェル:

(get-content c:\somedir\inputfile.txt) -replace 'A',"`nA" | set-content c:\somedir\outputfile.txt
于 2013-03-21T17:17:46.520 に答える
2

SEDが使えるなら GOOGLE GNUSED

sed s/A/\nA/g <yourfile >resultfile
于 2013-03-21T17:24:19.303 に答える
1

メモ帳++

notepad++これは、コンピューターにインストールされている場合の単なる検索と置換です
( http://notepad-plus-plus.org/download/v6.3.1.html )

テキスト ファイルを開き、 を押して [Ctrl H検索と置換] を取得します

Extended またはとして検索モードを選択します。 Regular expression

探すA

交換\nA

于 2013-03-21T18:48:12.320 に答える
0

Jスクリプト:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var read = fso.OpenTextFile("oldfile.txt", 1, 2);
var write = fso.CreateTextFile("newfile.txt", true);
var str = read.ReadAll();
write.Write(str.replace(/A/g,'\nA').replace(/^\n/m,''));
read.Close(); write.Close();

2 番目.replaceは、最初の改行がテキストの最初の文字として出現する場合、それを削除します。このスクリプトを.js拡張子を付けて保存し、 cscript filename.js.

于 2013-03-21T18:29:31.943 に答える
0

Windows バッチ:

@echo off
setlocal enabledelayedexpansion

echo contents of oldfile.txt:
type oldfile.txt
echo;

del newfile.txt
for /f "usebackq delims=" %%I in ("oldfile.txt") do (
    set "str=%%I" && set "str=!str:A=,A!"
    for %%x in (!str!) do (>>"newfile.txt" echo %%x)
)

echo contents of newfile.txt:
type newfile.txt

出力例:

C:\Users\me\Desktop>test.bat
contents of oldfile.txt:
ABCABCABCABCABC

contents of newfile.txt:
ABC
ABC
ABC
ABC
ABC

バッチで文字列を分割する方法の詳細は次のとおりです。

于 2013-03-21T17:48:37.907 に答える