サンプルファイル
ABCD|XYZ_123
CDEF|XYZ_456
GHIJ|ZEE_569
出力:
XYZ_123
XYZ_456
答え1
複数のオプション:
- Grepおよび切り取り:
grep XYZ file | cut -d'|' -f2
- (GNU)Grepのみ:
grep -o 'XYZ.*$' file
- 奇妙な:
awk -F'|' '/XYZ/{print $2}' file
- Bash配列とループ(できるので):
declare -A array
eval array=( $(printf '[%s]=%s ' $(tr '|' ' ' < file)) )
for v in ${array[@]}
do
[[ $v =~ XYZ ]] && echo $v
done