첫 번째 열에 특정 문자가 있고 첫 번째 열에 특정 값보다 큰 숫자가 있는 행을 선택해야 합니다.
특히, "G"가 포함된 첫 번째 열을 선택해야 합니다.숫자보다 낫다50다음과 같이:
입력 파일:
764M qa11279_TPK0002730_50901083/
762M qa10589_TPK0002730_50796634/
11G qa17805_TPK0001664_51330191/
56G qa15384_TPK0001664_51232746/
140G qa29996_TPK0000949_51951816/
결과물 파일:
56G qa15384_TPK0001664_51232746/
140G qa29996_TPK0000949_51951816/
답변1
해결책 awk
:
$ awk -F' ' '$1 ~ /^[0-9]*G/ { sub(/G/, "", $1); if(+$1 > 50) print }' file
56 qa15384_TPK0001664_51232746/
140 qa29996_TPK0000949_51951816/
답변2
예제 입력에 표시된 것처럼 "G"는 첫 번째 열에만 나타나기 때문에:
$ awk '/G/ && ($1+0 > 50)' file
56G qa15384_TPK0001664_51232746/
140G qa29996_TPK0000949_51951816/
하지만 다른 영역에서도 이런 일이 발생할 수 있다면 다음과 같이 하세요.
$ awk '($1 ~ /G/) && ($1+0 > 50)' file
56G qa15384_TPK0001664_51232746/
140G qa29996_TPK0000949_51951816/
답변3
@αГsнιι의 의견을 바탕으로 비교가 수정되었습니다.
awk '$1 ~ /^[[:digit:]]+/ && $1 ~ /G$/ && $1+0 > 50' file
56G qa15384_TPK0001664_51232746/
140G qa29996_TPK0000949_51951816/