sed's///g'とsed's///'の違い


sed's//g'はsed's////'と大きく異なりますが、注意しないと間違いに違いありません.例を見てください.
ファイルの先頭の空白を削除ps:  /^ */       /^\s/   , 、 、 。 [ \f
\r\t\v]
     /^[[:space:]]*/  \t amp1:~  # cat 2   ## 2         aaaaaaaaaa         bbbbbbbbbb cccc  ccccc ccccc          dddddd dddddd                    dddddd yyyyyyyy      yyyyyyyyyyyyy         yyyyyyyyyyyyyy       ooooooo   ooooooo    oooooo ooooooo amp1:~  # sed 's/\s*//g' 2   aaaaaaaaaa bbbbbbbbbb cccccccccccccc dddddddddddddddddd yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ooooooooooooooooooooooooooo ## "\s" ## g, “\s” amp1:~  # sed 's/\s*//' 2  aaaaaaaaaa bbbbbbbbbb cccc  ccccc ccccc  dddddd dddddd                    dddddd yyyyyyyy      yyyyyyyyyyyyy         yyyyyyyyyyyyyy ooooooo   ooooooo    oooooo ooooooo   ## , g, “\s”   ## g   ## g , , amp1:~  # sed 's/^\s*//' 2  aaaaaaaaaa bbbbbbbbbb cccc  ccccc ccccc  dddddd dddddd                    dddddd yyyyyyyy      yyyyyyyyyyyyy         yyyyyyyyyyyyyy ooooooo   ooooooo    oooooo ooooooo ## “^” ## 、 , “^” , , 。 ## g , amp1:~  # sed 's/^\s*//g' 2    aaaaaaaaaa bbbbbbbbbb cccc  ccccc ccccc  dddddd dddddd                    dddddd yyyyyyyy      yyyyyyyyyyyyy         yyyyyyyyyyyyyy ooooooo   ooooooo    oooooo ooooooo ## “\s” ## g, ,g ## “ ”。 。
 以上の解析から,sedコマンドのsモードではgがグローバルな役割を果たし,この範囲は各行,すなわち行為単位であり,グローバルとして機能することが分かる.     +g :      g: , , ,
検証:amp1:~  # cat 3.txt  ##3.txt hello hello hello       hello  hello hello  hello hello amp1:~  # sed 's/hello/nihao/' 3.txt  nihao hello hello       nihao  hello nihao  hello hello ## , g, amp1:~  # sed 's/hello/nihao/g' 3.txt ## , g, nihao nihao nihao       nihao  nihao nihao  nihao nihao amp1:~  # sed 's/^hello/nihao/' 3.txt  nihao hello hello       hello  hello nihao  hello hello ## , "hello", hello 。 amp1:~  # sed 's/^hello/nihao/g' 3.txt ## , g, nihao hello hello       hello  hello nihao  hello hello