cond
名前
cond : 式を評価してレコードを抽出する。
書式
使い方とオプション
Usage
cond [-i] [+ng[<fd>]] <expr> <file>
Option
-i +ng[<fd>]
説明
入力ファイル <file> の各レコードに対し、<expr> が真になる行のみ出力します。<expr> としては、
$フィールド == "文字列" または $フィールド == $フィールド $フィールド != "文字列" または $フィールド != $フィールド $フィールド > "文字列" または $フィールド > $フィールド $フィールド >= "文字列" または $フィールド >= $フィールド $フィールド < "文字列" または $フィールド < $フィールド $フィールド <= "文字列" または $フィールド <= $フィールド $フィールド eq 定数 または $フィールド eq $フィールド $フィールド ne 定数 または $フィールド ne $フィールド $フィールド lt 定数 または $フィールド lt $フィールド $フィールド le 定数 または $フィールド le $フィールド $フィールド gt 定数 または $フィールド gt $フィールド $フィールド ge 定数 または $フィールド ge $フィールド $フィールド ~ /正規表現/ $フィールド !~ /正規表現/ NF eq 定数 または NR eq 定数 NF ne 定数 または NR ne 定数 NF lt 定数 または NR lt 定数 NF le 定数 または NR le 定数 NF gt 定数 または NR gt 定数 NF ge 定数 または NR ge 定数
があります。$フィールドは <math display="inline">定数、</math>NF、$NF-定数 を指定できます。NF はフィールド数、NR はレコード番号を表します。これらを && (AND)、|| (OR)、! (NOT) で組み合わせることができます。括弧 () も使用できます。
<file> の指定が無いとき、或は “-” を指定した時は、標準入力を読み込みます。
-i オプションは、正規表現マッチにおいて大文字小文字を区別しません。
+ng<fd> オプションを指定すると、<expr> が偽になる行をファイルデスクリプタ <fd> へ出力します。<fd> を省略した場合は標準エラー出力へ出力します。
例(その1)
$ cat file1 111 222 000 110 222 333 111 220 033 110 220 303 $ cond '$1 == "111" && $2 ~ /2$/ || $3 ~ /^[03]0.*$/' file1 111 222 000 110 220 303 $ cond '!($2 <= "221" || $3 !~ /^0.*$/) && $2 ~ /2$/' file1 111 222 000
例(その2)
$ cat file2 usp xxx xxx Usp yyy yyy USP zzz zzz $ cond '$1 ~ /usp/' file2 ./cond '$1 ~ /usp/' <<<'usp xxx xxx Usp yyy yyy USP zzz zzz' $ cond -i '$1 ~ /usp/' file2 usp xxx xxx Usp yyy yyy USP zzz zzz
例(その3)
$ cond +ng3 '$2 == "yyy"' file2 >ok-data 3>ng-data $ cat ok-data Usp yyy yyy $ cat ng-data usp xxx xxx USP zzz zzz
Version and Edition
Version : Thu Sep 17 15:30:13 JST 2020
Edition : 1
© 2021 Universal Shell Programming Laboratory site