「aaa.log」ファイルから正確な文字列「CAAJ」とそれに続く内容を把握したいと思います。
cat aaa.log
CAAJ:dd20gf:acldx009:rel7
CAAJ:dd20gi:acldx009:rel7
CAAJ:dd20gp:acldx0059:rel7
CAAJ-TEST:de27ff:acldx003:rel7
CAAJ-TEST:de27ei:acldx003:rel7
CAAJ-TEST:de27ep:acldx003:rel7
予想出力:
CAAJ:dd20gf:acldx009:rel7
CAAJ:dd20gi:acldx009:rel7
CAAJ:dd20gp:acldx0059:rel7
次のコードを試しています。私はO/Pを得た。
grep -E '(^|)CAAJ(:|$)' aaa.log
CAAJ:dd20gf:acldx009:rel7
CAAJ:dd20gi:acldx009:rel7
CAAJ:dd20gp:acldx0059:rel7
ただし、正確な文字列の代わりに変数を使用すると、O / pを取得できません。
var=CAAJ
grep -E '(^|)${var}(:|$)' aaa.log
OR
grep -E '(^|)"${var}"(:|$)' aaa.log
これらのどれも機能しません。
正確な文字列の代わりに変数を使用して希望のo / pを取得したいと思います。
ベストアンサー1
この試み..
awk -F: '$1=="CAAJ" aaa.log
awkで変数を使用する
awk -F: -vv="$var" '$1==v' aaa.log
grepコマンド
grep "^$var:" aaa.log