sedコードを処理する次の数字はどういう意味ですか?

sedコードを処理する次の数字はどういう意味ですか?

私のスクリプトでは、3つの数字の後に「、」を追加するコードスニペットを見つけました。このコードは数値データのみを考慮します。

以下はコードです。

sed 's/\(^\|[^0-9.]\)\([0-9]\+\)\([0-9]\{3\}\)/\1\2,\3/g' number.txt

番号.txt

1234
12345
123456

出力

1,234
12,345
123,456
1234,567

コードフローを誰が説明できますか?

ベストアンサー1

sed(Sトレメ編集するitor) は以下で実行できます.S検索と置換モードの使用一般的な表現。 sed 関連のエスケープはいくつかありますが、正規表現自体の場合は、以下で通訳ツールを付与できます。正規表現:

( グループ#1をキャプチャします。複数のトークンをまとめてグループ化し、キャプチャグループを作成して部分文字列を抽出するか、逆参照を使用します。

^ スタート。文字列の先頭に一致します。

| 交互に。これはブールORのように機能します。前後の式と一致します|

[^ セットを否定します。セットにないすべての文字と一致します。

0-9 範囲。「0」から「9」の範囲の文字と一致します。大文字と小文字を区別します。

. 特徴。「。」機能と一致します。

]

)

( グループ#2をキャプチャします。複数のトークンをまとめてグループ化し、キャプチャグループを作成して部分文字列を抽出するか、逆参照を使用します。

[ 文字セット。セット内のすべての文字と一致します。

0-9 範囲。「0」から「9」の範囲の文字と一致します。大文字と小文字を区別します。

]

+ 数量子。前のトークンの1つ以上と一致します。

)

( グループ#3をキャプチャします。複数のトークンをまとめてグループ化し、キャプチャグループを作成して部分文字列を抽出するか、逆参照を使用します。

[ 文字セット。セット内のすべての文字と一致します。

0-9 範囲。「0」から「9」の範囲の文字と一致します。大文字と小文字を区別します。

]

{3} 数量子。前に示したマッチ 3.

)

おすすめ記事