0812345678910111213141516171819202122232425262728293010

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【 --/--/-- (--) 】 スポンサー広告 | TB(-) | CM(-)

Bashで正規表現など使いデータの精査(文字列データ)

文字列データは精査すべき内容はあまりない。
文字コードのチェック、指定した文字コードに相応しくない値が入ってるかのチェックなどの言語関係のチェックは、bashには敷居が高すぎる。


bashで文字列の長さを調べる



文字列フィールドには固定長・可変長があるが、いずれにせよ大抵の場合は最大で何文字までか指定されている。
そこで、与えられた文字列が何文字(正確には何バイト)かを確認する必要がある。
ローダーによってはエラーで落とさず勝手に切り詰めてくれる場合もあるけど、本当にそれでいいかという話もあるし。

Bashで変数paramの格納してる文字列の長さを調べたいとき、${#param}という表記を使うと、その文字列長が返せる。


$ FIELD="The quick brown fox jumps over the lazy dog."

$ echo ${#FIELD}
44


という事で、単純にbashの条件チェックにそのまま書き込むと、こんな感じになる。

[[ ${#FIELD} -le 127 ]] || DATA_ERROR_FLG=1


この${#param}という機能は、他の多くのbash文字列機能と同様に、中カッコで囲った中に与える一つ目の値は変数でなければならず、定数(文字列リテラルや変数を展開した値)は受け付けないのが多少不自由なときがあるが。

・参考リンク
Bash 変数の基礎と小技集-- Stray Penguin -Linux Memo-Man page of Bash--JM Project
スポンサーサイト
【 2014/03/01 (Sat) 】 OS Linuxコマンド(編集用) | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

Ed U Song

Author:Ed U Song
社内ノマドなエンジニア。
仕事で触れる機会のないものを自宅環境作って実験。

スポンサーリンク
最新コメント
最新トラックバック
検索フォーム


                                         
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。