ファイルのすべての行の最後の単語の前にコンマを挿入するにはどうすればよいですか?

Deepti

バッチスクリプトで、ファイルのすべての行の最後の1単語まで、および最後の1単語と最後の単語の間にコンマを挿入する必要があります。単語間のスペースはコンマで置き換える必要があります。

例:テストファイル:

This is first line
This is the second line
Check Subsystem version 3.1.8-11P

出力を次のようにします。

This is,first,line
This is the,second,line
Check Subsystem,version,3.1.8-11P

このスクリプトは最後の単語の前にコンマを挿入していますが、&の間に行があり、&記号が含まれている行を削除しています。

例:バージョン1.1.1の作成と削除

この行は削除されます。

@echo off
for /f usebackq^ delims^=^ eol^= %%A in ("Doc.txt") do (
    set "s=%%A"
    set "s1=%%A"
    setlocal enableDelayedExpansion
    set "s=!s:@=@a!"
    set "s=!s:\=@b!"
    set "s=!s:/=@f!"
    set "s=!s:.=@d!"
    set "s=!s: =.!"
    for /f "delims=" %%A in (".!s!") do (
        endlocal
        set "s=%%~xA"
        setlocal enableDelayedExpansion
        if defined s (
            set "s=!s:.= !"
            set "s=!s:@d=.!"
            set "s=!s:@f=/!"
            set "s=!s:@b=\!"
            set "s=!s:@a=@!"
            set "s=!s:~1!"
            call set s2=%%s1:!s!=%%
            echo !s2!,!s! >> output.txt
        )
        endlocal
    )
)
pause

また、コンマを最後から1語だけ挿入する方法もわかりません。

モフィ

これは、正規表現をサポートする任意のテキストエディタで
\W+(\w+)\W+(\w+)$、置換文字列として検索して使用することで簡単に実行できます,$1,$2

Windowsコマンドライン環境を使用してファイル内のテキストを検索して置き換えるにはどうすればよいですか?1つの回答に、Dave Benhamによって作成された最新バージョンのJREPL.BATへのリンクが含まれています。これにより、正規表現の検索と置換文字列を使用してファイルにこの変更を加えることができます。

実行されたバッチファイルと同じディレクトリにあるこの追加のバッチファイルを使用して、バッチファイル内からJREPL.BAT使用するには

call "%~dp0jrepl.bat" "\W+(\w+)\W+(\w+)$" ",$1,$2" /F "%~1" /O -

"%~1" この汎用コマンドラインでは、変更するファイルの名前を参照しています。

jrepl.bat /?ここで使用されている他のオプションについてヘルプを求めて実行します。

call /?このコマンドのヘルプと%~dp0(バックスラッシュで終わる現在のバッチファイルのドライブとパス)の説明を実行します

正規表現の説明replace:

  • \W+... Unicode標準に従って1つ以上の非単語文字を検索します
  • (\w+)... Unicode標準に従って1つ以上の単語文字を検索し、見つかった文字列を逆参照用にマークして、文字列を$1に置き換えます
  • \W+... Unicode標準に従って、1つ以上の単語以外の文字を再度検索します
  • (\w+)... Unicode標準に従って1つ以上の単語文字を再度検索し、見つかった文字列を逆参照用にマークして、文字列を$2に置き換えます
  • $ ...検索式は、行末に2つの単語が見つかり、改行文字が一致しない場合にのみ、正の一致になります。

次のような行の場合

Check Subsystem version 3.1.8-11P

これを次のように変更する必要があります

Check Subsystem,version,3.1.8-11P

ファイルに別の正規表現検索文字列は、のために必要である.-されている非ワード文字のUnicode標準に従いました。

検索文字列は次のように変更する必要があります。 [^\w.\-]+([\w.\-]+)[^\w.\-]+([\w.\-]+)$

[...]は、角括弧内に指定された任意の文字に一致する正の文字クラス定義です。

[^...]、角括弧内に指定されていない文字に一致する負の文字クラス定義です。

\wUnicode標準に従ったすべての単語文字の特殊文字クラス定義です

.正または負の文字クラス定義の角括弧内は、リテラル文字として解釈されます。ドット文字は、文字クラス定義の外正規表現検索文字列で特別な意味を持っているでしょう。

-正または負の文字クラス定義の角括弧内は、文字XおよびYのコード値に従って、左に指定された文字Xから右に指定さ- れた文字Yまでのすべての文字意味します。文字がない場合、ハイフンはリテラル文字としても解釈されます-文字クラス定義の内側に左または右のいずれかただし、ハイフン文字をリテラル文字として解釈する必要がある場合は、角かっこ内の位置に関係なく、文字クラス定義内で円記号を使用してエスケープすることをお勧めします。文字クラス定義の外では、ハイフン文字には特別な意味はありません。--

したがって、「単語」として解釈されるドットとハイフンを含む文字列を含むファイルに使用するコマンドライン全体は次のとおりです。

call "%~dp0jrepl.bat" "[^\w.\-]+([\w.\-]+)[^\w.\-]+([\w.\-]+)$" ",$1,$2" /F "%~1" /O -

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

前の文字列に応じて、特定の行の最後の単語の前に文字列NODATAを挿入するにはどうすればよいですか?

分類Dev

Unix:最後のコマンド-ファイル入力用のサブコマンドを実行するにはどうすればよいですか?

分類Dev

ファイルの複数行から単語の後のすべてを削除するにはどうすればよいですか?

分類Dev

ファイルのすべての行の後に文字を挿入するにはどうすればよいですか?

分類Dev

最初の単語がファイルの最初の単語であるすべての行を印刷するにはどうすればよいですか?

分類Dev

ファイルの最終行を除くすべての行からコンマを削除するにはどうすればよいですか?

分類Dev

最後のコマンドをファイルに保存するにはどうすればよいですか?

分類Dev

応答文字列を単語ごとに別々の行としてファイルに挿入するにはどうすればよいですか?

分類Dev

パターンの前のファイルにコマンド出力を直接挿入するにはどうすればよいですか?

分類Dev

ファイル内の特定の文字列の後にファイルコンテンツを挿入するにはどうすればよいですか?

分類Dev

サブタイトルといくつかの単語の間にコンマを挿入するにはどうすればよいですか?

分類Dev

forループのすべての単語の後にコンマを追加するにはどうすればよいですか

分類Dev

C#でテキストファイルのすべての行の最初の単語を抽出するにはどうすればよいですか?

分類Dev

Linuxコマンドを使用してファイルの各行の最初の単語を表示するにはどうすればよいですか?

分類Dev

ファイルのすべての行の5番目の単語を削除するにはどうすればよいですか?

分類Dev

XからYまでの数字の行をZ行の後に別のファイルに挿入するにはどうすればよいですか?

分類Dev

Ubuntu 20.10の同じディレクトリ内のすべてのテキストファイルの最後の行(コンテンツ)の最後にアスタリスク(*)を追加するにはどうすればよいですか?

分類Dev

Ubuntu 20.10の同じディレクトリ内のすべてのテキストファイルの最後の行(コンテンツ)の最後にアスタリスク(*)を追加するにはどうすればよいですか?

分類Dev

IntelliJ IDEAにファイルのすべての終わりに新しい行を挿入させるにはどうすればよいですか?

分類Dev

単一のコマンドラインコマンドを使用して、データベース内のすべてのテキストファイルを検索して、最もよく使用される10個の単語を見つけるにはどうすればよいですか。

分類Dev

ディレクトリからすべてのファイルの最後の行を削除するにはどうすればよいですか?

分類Dev

パターンが見つかった行の2行後にファイルの内容を挿入するにはどうすればよいですか?

分類Dev

CSVをSQLにインポートし、ファイル名を最後の列に挿入するにはどうすればよいですか?

分類Dev

最後の単語no.x以降をすべて削除するにはどうすればよいですか?

分類Dev

Bashを使用してjsonファイルの最後のコンマを削除するにはどうすればよいですか?

分類Dev

最後のエントリを除いて、配列のデータ間にコンマを挿入するにはどうすればよいですか?

分類Dev

行の最初のコンマの後にファイルをcsv形式でフォーマットするにはどうすればよいですか?

分類Dev

ファイルの最後のn行を編集するにはどうすればよいですか?

分類Dev

ファイルの最後のn行を削除するにはどうすればよいですか?

Related 関連記事

  1. 1

    前の文字列に応じて、特定の行の最後の単語の前に文字列NODATAを挿入するにはどうすればよいですか?

  2. 2

    Unix:最後のコマンド-ファイル入力用のサブコマンドを実行するにはどうすればよいですか?

  3. 3

    ファイルの複数行から単語の後のすべてを削除するにはどうすればよいですか?

  4. 4

    ファイルのすべての行の後に文字を挿入するにはどうすればよいですか?

  5. 5

    最初の単語がファイルの最初の単語であるすべての行を印刷するにはどうすればよいですか?

  6. 6

    ファイルの最終行を除くすべての行からコンマを削除するにはどうすればよいですか?

  7. 7

    最後のコマンドをファイルに保存するにはどうすればよいですか?

  8. 8

    応答文字列を単語ごとに別々の行としてファイルに挿入するにはどうすればよいですか?

  9. 9

    パターンの前のファイルにコマンド出力を直接挿入するにはどうすればよいですか?

  10. 10

    ファイル内の特定の文字列の後にファイルコンテンツを挿入するにはどうすればよいですか?

  11. 11

    サブタイトルといくつかの単語の間にコンマを挿入するにはどうすればよいですか?

  12. 12

    forループのすべての単語の後にコンマを追加するにはどうすればよいですか

  13. 13

    C#でテキストファイルのすべての行の最初の単語を抽出するにはどうすればよいですか?

  14. 14

    Linuxコマンドを使用してファイルの各行の最初の単語を表示するにはどうすればよいですか?

  15. 15

    ファイルのすべての行の5番目の単語を削除するにはどうすればよいですか?

  16. 16

    XからYまでの数字の行をZ行の後に別のファイルに挿入するにはどうすればよいですか?

  17. 17

    Ubuntu 20.10の同じディレクトリ内のすべてのテキストファイルの最後の行(コンテンツ)の最後にアスタリスク(*)を追加するにはどうすればよいですか?

  18. 18

    Ubuntu 20.10の同じディレクトリ内のすべてのテキストファイルの最後の行(コンテンツ)の最後にアスタリスク(*)を追加するにはどうすればよいですか?

  19. 19

    IntelliJ IDEAにファイルのすべての終わりに新しい行を挿入させるにはどうすればよいですか?

  20. 20

    単一のコマンドラインコマンドを使用して、データベース内のすべてのテキストファイルを検索して、最もよく使用される10個の単語を見つけるにはどうすればよいですか。

  21. 21

    ディレクトリからすべてのファイルの最後の行を削除するにはどうすればよいですか?

  22. 22

    パターンが見つかった行の2行後にファイルの内容を挿入するにはどうすればよいですか?

  23. 23

    CSVをSQLにインポートし、ファイル名を最後の列に挿入するにはどうすればよいですか?

  24. 24

    最後の単語no.x以降をすべて削除するにはどうすればよいですか?

  25. 25

    Bashを使用してjsonファイルの最後のコンマを削除するにはどうすればよいですか?

  26. 26

    最後のエントリを除いて、配列のデータ間にコンマを挿入するにはどうすればよいですか?

  27. 27

    行の最初のコンマの後にファイルをcsv形式でフォーマットするにはどうすればよいですか?

  28. 28

    ファイルの最後のn行を編集するにはどうすればよいですか?

  29. 29

    ファイルの最後のn行を削除するにはどうすればよいですか?

ホットタグ

アーカイブ