특정 열에 "1" 값이 포함된 행으로 목록 만들기

특정 열에 "1" 값이 포함된 행으로 목록 만들기

특정 열에 "1"이 포함된 행 목록이 포함된 2개의 파일을 만들어야 합니다. 하나는 열 4 "1"에 대한 파일이고 다른 하나는 열 5 "1"에 대한 파일입니다. 원본 파일은 다음과 같습니다.

ID TreeID gC gD1 gD2.
36  1   0   0   0
36  2   1   0   0
36  3   1   0   0
36  4   1   0   0
36  5   1   0   0
36  6   0   0   1
36  7   1   0   0
36  8   1   0   0
36  9   1   0   0
36  10  1   0   0
36  11  1   0   0

나는 다음과 같은 것을 생각하고 있습니다 :

awk '$4%1' branch_36.cf.stat_tree.txt > gDF1_trees.txt

그러나 나는 그것을 작동시킬 수 없습니다. 내 출력은 다음과 같습니다.

36  18  0   0   1
36  45  0   0   1
36  50  0   0   1
36  79  0   0   1

gDF2_trees.txt:

36  22  0   1   0
36  101 0   1   0
36  507 0   1   0
36  632 0   1   0

을 위한 gDF1_trees.txt.

답변1

네 번째 열 변경을 고려해 보셨나요?

sed -E 's/^(([^ ]* ){3})[^ ]* (.*$)/\11 \3/g'

열 5를 변경하려면 중괄호 안의 "3"을 4로 변경하기만 하면 됩니다.

답변2

알아 냈어!

awk -F ' '  '$4 + 0 ==1' branch_36.cf.stat_tree.txt > gDF1_trees.txt

관련 정보