sedコマンドを使って最後にマッチした行に追記する方法

CentOSのaliasesファイルを、メンテナンスで修正しなければならず、手順としてviで修正するより、sedで追記する方法はないか調べてみた。

行指定する方法はあると思うが、特定の文字列にマッチした行に対する操作をしたかったため、今回の備忘録を作成。

続きを読む

C++のゼロクリアとメモリリーク

C++のゼロクリア処理

続きを読む

SQLServerで文末の空白を除外する

 

 

 

 

 

 

・空白の除外をする?ならRtrimでいいじゃない

 

例えば、’AAA□□ ’のような文字列が入力された場合、Rtrimでは全角の空白が除外できないため’AAA□□’のように全角の空白が残ってしまいます。

 

 

 

 

 

じゃあRtrim(Replace(x,' ',' '))でどう?

 

確かに末尾の空白は除外されました。

 

しかし’A□AA□□ ’のような文字列が入力された場合、’A AA’となってしまい、文字列中の空白まで半角になってしまいます。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Substring(x,1,Len(Rtrim(Replace(x,' ',' '))))

 

 

Replaceで全角のスペースを半角に                         (’A□AA□□ ’→’A AA   ’)

 

Rtrimで末尾の空白を除外                              (’A AA   ’→’A AA’)

 

Lenで文字数を出す                                 (’A AA’→4文字)

 

Substringで元の文字列から、末尾の空白を除外した文字数だけ抜き出す           (’A□AA□□ ’の1文字目から4文字抜き出す)

 

 

 

全ての空白を半角にし、末尾の半角を消した文字数を出して、その文字数を元にして末尾の空白を除外する。

 

 

ベテランの皆さんにはあまりにも楽勝な話かもしれませんが、僕は最初、なぜこんな回りくどい方法を取っているのかわからず考え込んだ末に感動したのでこのテーマを選びました。