2

スペースで始まる txt ファイルのすべての行 (空行を含む) を削除するには、次のように記述します。

    findstr /v /b /c:" " <%1>result.out.

確かに、すべての行の先頭にスペースと空の行の両方がなくなった場合、result.outファイルは私に答えてくれます。

行ヘッダーを空のままにしておくと、あきらめたい空白行も保持されます。最後に、result.out 出力には、各行の先頭に常にテキストを含む連続した行が必要です。

何が悪いのか、どうすれば直せるのか誰か教えてください。ありがとう。

4

2 に答える 2

4

Tabチェックする空白の一部として文字を含めたい場合は、バッチ スクリプトを使用する必要があります。コンソールに文字を貼りcmd付けようとすると、コンソールは単に不快な音を出します。しかし、ファイル内で問題なく解釈されます。TabTabcmdTab.bat

これをバッチ ファイルに入れて実行し、SpaceTabを実際のスペースとタブに置き換えます。

findstr /r /v /c:"^[SpaceTab]" /c:"^$" "%~1" >result.out

1 つ目/c:は、行頭の空白をチェックします。2 番目/c:は空白行をチェックします。どちらも/vスイッチで省略されています。

于 2013-04-17T13:59:13.620 に答える
0
@ECHO OFF
SETLOCAL
CALL CMD /c EXIT 26
(
FOR /f "eol=%=ExitCodeAscii% delims=" %%i IN ('findstr /v /b /c:" " ^<%1') DO ECHO %%i
)>result.out

空白行を削除する必要があります。

FOR、FINDSTR が末尾のスペースを含むすべての行を削除した後に表示されるファイルの各行を読み取ります。空の嘘は破棄され、区切り文字がないため、行全体が %%i に適用されます。

行末文字を control-Z に設定すると、事実上行末もなくなるため、空でないすべての行がECHO編集されます。

于 2013-04-17T14:15:08.233 に答える