サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
entree.hatenadiary.org
POSIX正規表現には、grepコマンドやsedコマンドで使用できる基本正規表現(BRE)と、egrepコマンドやawkコマンドで使用できる拡張正規表現(ERE)があります。一般的にはどういうわけかより多くの特殊文字を持つ正規表現が好まれているようで、BREよりもERE、EREよりもPerlの正規表現の方が人気があるように思います。しかし、BREとEREの違いをきっちりと理解されている人はそれほど多くないのではないかと思います。 BREとEREの違い 下記はBREとEREで使用できる正規表現の一覧です。 名前 BRE ERE Collation-related bracket symbols [==] [::] [..] [==] [::] [..] Escaped characters \ \ Bracket expression [] [] Grouping \(\) \n () \n
grepの-lオプションと-Lオプション。マニュアルを見ると、それぞれ以下のように説明されている。 -l, --files-with-matches 通常の出力はしません。その代わりに、grepを普通に実行した際に、何らかの検索結果を表示する ような入力ファイルの名前を列挙します (訳注: すなわち、-lオプションを指定すると、-vオプシ ョンを同時に指定しない場合は、パターンにマッチする文字列を含む行が存在するファイルの名前 を列挙するということです)。 個々のファイルに対する走査は、最初のマッチで終了します。 (-l オプションは POSIX で規定されています) -L, --files-without-match 通常の出力はしません。その代わりに、grepを普通に実行した際に、何の検索結果も表示しないよ うな入力ファイルの名前を列挙します (訳注: すなわち、-Lオプションを指定す
GNU grep 2.22が近日中にリリースされる見込みとなりました。 GNU grep 2.22は、結果不正バグが見つかったことによるバグフィックスリリースです。そのため、目立った改善点はありませんが、それらを見ていくとともに、今後の見通しについて紹介します。 GNU grep 2.22における改善/バグフィックス 結果不正バグの修正 下記のパターンは、「hello」が行頭または行末に含まる行にマッチしますが、行内に「hello」が含まれているものにマッチしてしまっています。 $ echo aaahellobbb | grep -E '^hello|hello$' aaahellobbbこのバグは、GNU grep 2.19で行頭や行末にマッチさせる正規表現の高速化が行われた際に混入したものです。 バッファオーバーランの修正 固定文字列を検索をする時は、最初にパターンの最後の文字を検索し
データベースの「正規化」を学んで間もない頃に実際のデータベース設計をやってみて、悩んだことをお話をしたいと思います。 理想と現実の壁にぶち当たる 下記の属性を持つ「売上ファイル」を考えてみます。 売上ファイル ---------------- 売上日 顧客名 住所 担当者名 商品名 単価 数量これを第3正規形にすると、こんな感じになります。 売上テーブル ---------------- 売上コード 売上日 顧客コード 売上明細テーブル ---------------- 売上コード 商品コード 数量 顧客マスタ ---------- 顧客コード 顧客名 住所 担当者名 商品マスタ ---------- 商品コード 商品名 単価ところが、このままでは商品マスタの単価が変更されると、売上金額が変わってしまいます。そこで、売上明細テーブルにも「単価」列を追加し、売上日時点の単価を設定するようにし
このページを最初にブックマークしてみませんか?
『entree.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く