![파일에서 선택한 데이터를 가져와야 합니다. [닫기]](https://linux55.com/image/13101/%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EC%84%A0%ED%83%9D%ED%95%9C%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC%20%EA%B0%80%EC%A0%B8%EC%99%80%EC%95%BC%20%ED%95%A9%EB%8B%88%EB%8B%A4.%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
샘플 파일
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