파일에서 특정 숫자로 시작하는 모든 줄을 추출하는 방법은 무엇입니까?

파일에서 특정 숫자로 시작하는 모든 줄을 추출하는 방법은 무엇입니까?

다음과 같은 파일이 있습니다.

head logistic_results.assoc_3.logistic
 CHR               SNP         BP   A1       TEST    NMISS         OR         STAT            P 
   2   2:129412140:T:C  129412140    C        ADD     1438      1.523         3.89    0.0001004
  15   15:26411414:G:A   26411414    A        ADD     1438     0.5577       -3.889    0.0001005
   7    7:24286442:T:G   24286442    G        ADD     1438     0.7449       -3.889    0.0001007
   7    7:24286638:G:C   24286638    C        ADD     1438     0.7449       -3.889    0.0001007
   2   2:129403636:T:C  129403636    C        ADD     1438      1.741        3.889    0.0001008
  15   15:70363332:A:G   70363332    G        ADD     1438      1.366        3.886     0.000102
   3    3:13698784:G:A   13698784    A        ADD     1438      1.465        3.884    0.0001028
   3    3:32665882:C:A   32665882    A        ADD     1438       1.54        3.883     0.000103
  12   12:32855080:A:G   32855080    G        ADD     1438      4.013        3.883    0.0001031

첫 번째 열에 3이 포함된 모든 행을 추출하는 방법은 무엇입니까?

이것을 시도했지만 빈 파일이 있습니다 ...

grep '^3' logistic_results.assoc_3.logistic > logistic_results.assoc_3.logistic_chr3
awk '/^3/' logistic_results.assoc_3.logistic > logistic_results.assoc_3.logistic_chr3

이 예의 경우 결과는 다음과 같습니다.

  3    3:13698784:G:A   13698784    A        ADD     1438      1.465        3.884    0.0001028
  3    3:32665882:C:A   32665882    A        ADD     1438       1.54        3.883     0.000103

답변1

비어 있지 않은 첫 번째 필드를 문자열과 비교합니다 3.

awk '$1 == "3"' logistic_results.assoc_3.logistic >logistic_results.assoc_3.logistic_chr3

명령의 문제점은 해당 명령이 3줄의 첫 번째 문자가 되기를 원하지만 예제 데이터에서는 숫자 앞에 공백이 있을 수 있다는 것입니다. 기본 필드 구분 기호와 함께 사용하면 선행 공백 문자에 관계없이 awk염색체 이름이 배치됩니다 .$1

$1 == "1"이것은 또한 염색체 1에서만 작동하기 때문에 더 안전할 것입니다 . 반면 1필드 시작 부분에서 일치하는 정규식(예: /^[[:blank:]]*1/또는 )도 예를 들어 및 $1 ~ /^1/와 일치합니다 .1112

답변2

또는:

grep "^[[:blank:]]*3" logistic_results.assoc_3.logistic > logistic_results.assoc_3.logistic_chr3

관련 정보