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