|
>>4346 hagu 多分、sedだけでは無理だと思います。 sedを使わなくても、awkだけでも可能です。 echo $NM | nawk '{for(j=i=1;i<=length($0); i++) if(i==1) {NM[i]=substr($0,i,1)} else {NM[i]=tolower(substr($0,i,1))}} END{for(count in NM) printf("%c",NM[count]); printf("\n")}' |
|
>>4347 お 試してみましたが、出方が変です。 amadaY となります。 |
|
始めまして、ネットワークプログラミング周辺読ませて頂きました。 簡潔なソースで読みやすかったです。 お礼に掲示板カキコ、それにしてもみなさん勉強熱心ですね(笑 ---------------------------------------- echo $NM | \ sed -e h -e 's/^\(.\)\(.*\)/\1/g' \ -e 'y/[abcdefghijklmnopqrstuvwxyz]/[ABCDEFGHIJKLMNOPQRSTUVWXYZ]/' \ -e x \ -e 's/^.\(.\)/\1/g' \ -e 'y/[ABCDEFGHIJKLMNOPQRSTUVWXYZ]/[abcdefghijklmnopqrstuvwxyz]/' \ -e H \ -e g \ -e 's/\n//' ---------------------------------------- なんとなしsedの勉強してしまった、本買う気にはならないけどね。 http://web.archive.org/web/19961202111128/http://yase.yajima.kuis.kyoto-u.ac.jp/staffs/sengoku/sedlec/ |
|
>>4346 hagu もしperlならこんな感じなんでしょうか? echo $NM | perl -ple 'y/A-Z/a-z/;substr($_,0,1)=~y/a-z/A-Z/;' |
|
>>4347 お >>4348 hagu 連想配列の場合、表示の順序は、ハッシュ法に従うのでランダムとなります。 すみません。 echo $NM | nawk '{for(i=1;i<=length($0); i++) if(i==1) {NM[i]=substr($0,i,1)} else {NM[i]=tolower(substr($0,i,1))}} END{for(j=1; j<i; j++) printf("%c",NM[j]); printf("\n")}' |
|
>>4349 マーブル 凄い。 sedだけでですね。 でも、凄く、複雑すぎます。 >>4351 お 今度は、期待したいた結果が得られました。 awkを使っているのも複雑ですね。 |