File 灰显列,然后粘贴到另一个文件

File 灰显列,然后粘贴到另一个文件,file,grep,multiple-columns,File,Grep,Multiple Columns,嘿,伙计们,我有个grep问题。我想grep文件中包含特定数字的行,然后我想将该行中的特定列粘贴到文件中 例如,如果我有号码1068 File A has 1094 A B C 1068 D E F 1044 G H I File B has 1092 L M N 1068 X Y Z 1045 Q R S File C has 1093 A B C 1062 D E F 1041 G H I 我

嘿,伙计们,我有个grep问题。我想grep文件中包含特定数字的行,然后我想将该行中的特定列粘贴到文件中

例如,如果我有号码1068

File A has 
1094   A   B  C
1068   D   E  F
1044   G   H  I

File B has
1092   L   M  N
1068   X   Y  Z
1045   Q   R  S

File C has 
1093   A   B  C
1062   D   E  F
1041   G   H  I
我想grep所有文件中有1068行的行,只粘贴某些列,并将它们并排粘贴。请注意,文件C没有1068,但我想粘贴NA。因此,最终输出如下所示:

1068文件A C文件B X Z文件C NA NA


任何帮助都将不胜感激!我现在不知道如何grep列,甚至不知道它是否存在。例如,在文件C中,grep将一无所获,但我想用NA代替。我该怎么做呢?

我认为这不是格雷普的工作。更像是一份糟糕的工作


非常感谢你!这正是我需要的。我正在写剧本,只是因为问题比我想象的要复杂一点,但非常感谢@用户3799576如果答案解决了您的问题,请不要忘记接受答案
awk -v num=1068 '
  BEGIN { printf "%d", num }

  # If file has changed and num has not been found...
  FNR==1 && NR!=1 && !found_num { printf " %s NA NA", FILENAME }

  # If at the beginning of a file (needs to be after previous line).
  FNR==1 { found_num = 0 }

  # If we find num, print the data and set found_num flag.
  $1 == num { printf " %s %s %s", FILENAME, $2, $4; found_num = 1 }

  END { if (!found_num) printf " %s NA NA", FILENAME; print"" }
' FileA FileB FileC