awk使用句点解析字段并输出唯一数字

awk使用句点解析字段并输出唯一数字,awk,Awk,我正在尝试使用awk解析$2,使用字符串中的第一个,并输出其上方带有标题行的数字。当前输出接近,但这两个命令似乎也占用了$1。我是否需要在命令中指定某些内容以仅打印$2中的数字,它似乎很接近。谢谢:) 文件 R_2016_09_20_12_47 IonXpress_007 16-0001.xxx.xxx IonXpress_008 16-0002.xxx.xxx IonXpress_009 16-0003.xxx.xxx R_2016_09_20_12_46 IonXpress_007 16-0

我正在尝试使用
awk
解析
$2
,使用字符串中的第一个
,并输出其上方带有标题行的数字。当前输出接近,但这两个命令似乎也占用了
$1
。我是否需要在命令中指定某些内容以仅打印
$2
中的数字,它似乎很接近。谢谢:)

文件

R_2016_09_20_12_47
IonXpress_007 16-0001.xxx.xxx
IonXpress_008 16-0002.xxx.xxx
IonXpress_009 16-0003.xxx.xxx
R_2016_09_20_12_46
IonXpress_007 16-0004.xxx.xxx
IonXpress_008 16-0005.xxx.xxx
IonXpress_009 16-0006.xxx.xxx
所需输出

R_2016_09_20_12_47
16-0001
16-0002
16-0003
R_2016_09_20_12_46
16-0004
16-0005
16-0006
cut -d'.' -f1 file
R_2016_09_20_12_47
IonXpress_007 16-0001
IonXpress_008 16-0002
IonXpress_009 16-0003
R_2016_09_20_12_46
IonXpress_001 16-0004
IonXpress_002 16-0005
IonXpress_003 16-0006
awk

awk -F. '{print $1}' file
切割

R_2016_09_20_12_47
16-0001
16-0002
16-0003
R_2016_09_20_12_46
16-0004
16-0005
16-0006
cut -d'.' -f1 file
R_2016_09_20_12_47
IonXpress_007 16-0001
IonXpress_008 16-0002
IonXpress_009 16-0003
R_2016_09_20_12_46
IonXpress_001 16-0004
IonXpress_002 16-0005
IonXpress_003 16-0006
电流输出

R_2016_09_20_12_47
16-0001
16-0002
16-0003
R_2016_09_20_12_46
16-0004
16-0005
16-0006
cut -d'.' -f1 file
R_2016_09_20_12_47
IonXpress_007 16-0001
IonXpress_008 16-0002
IonXpress_009 16-0003
R_2016_09_20_12_46
IonXpress_001 16-0004
IonXpress_002 16-0005
IonXpress_003 16-0006
试试这个:

% awk -F'[ .]' '{print $2 ? $2 : $1}' file                                                                     

R_2016_09_20_12_47
16-0001
16-0002
16-0003
R_2016_09_20_12_46
16-0004
16-0005
16-0006
  • 我将空格和
    作为分隔符
  • 我使用三元运算符对
    $2

非常感谢您的帮助和解释:)