###awkの文字列置換を試したかった。
環境は MacOSX で bash を使っています。
まず文字列を置換する方法を調べました
sub、gsub、gensub、match
大文字小文字に変換する方法は
tolower、toupper
これらを見つけました。
次に正規表現でグループのキャプチャということをして、それを大文字にすれば良いと考えました。
しかし、ここで不思議なことが起きました。
sub、gsub、gensubの引数に指定する際にtoupper、tolowerを使おうとしたところ全く機能しませんでした。
# sub $ echo abc | awk '{sub(/^([a-z])/, toupper("&")) ; print}' abc # gensub $ echo abc | awk '{gensub(/^([a-z])/, toupper("\1"), "g") ; print}' abc
このように、全く大文字になりませんでした。
エラーが出てもいいのでは無いかとも思うんですが実行はできるようです。
どうしてこのような結果になるのか教えてください。
先頭を大文字、小文字にする方法も合わせて教えていただきたいです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/15 09:35