使用awk根据分隔符分割文件的第一行,并按原样打印其他行

使用awk根据分隔符分割文件的第一行,并按原样打印其他行,awk,Awk,我有一个如下所示的输入文件: name<next>Rocky id: 1321 age: 36 exp: 10 occupation: doctor 可以看出,除第一行外,文件的其他行中不存在分隔符“” 到目前为止,由于在其他行中没有这样的分隔符,下面只打印Rocky,后面是空行: awk -F "<next>" '{print $2}' file awk-F”“{print$2}文件 我知道awk逐行处理,但有没有办法限制awk只在一行上处理或执行定界操作。在这种

我有一个如下所示的输入文件:

name<next>Rocky
id: 1321
age: 36
exp: 10
occupation: doctor
可以看出,除第一行外,文件的其他行中不存在分隔符“”

到目前为止,由于在其他行中没有这样的分隔符,下面只打印Rocky,后面是空行:

awk -F "<next>" '{print $2}' file
awk-F”“{print$2}文件

我知道awk逐行处理,但有没有办法限制awk只在一行上处理或执行定界操作。在这种情况下,我们是在第一行进行的。一般来说,也可以制作符合条件的awk流程行,例如使用分隔符分割行,并按原样打印其他行。

遵循
awk
可能会对您有所帮助

awk 'FNR==1{sub(/.*next>/,"")} 1'   Input_file
说明:

FNR==1
:检查行号是否为
1
。如果是,则执行以下操作

{sub(/.*next>/,“”)}
:使用
awk
sub
实用程序,并在此处用NULL替换从开始到下一步的所有内容


1
awk
使用
条件的方法,然后是
操作
,因此通过提及
1
,我在这里使条件为真,而不提及任何操作,因此默认情况下会打印当前行。

您可以打印最后一个字段,该字段将使用您的分隔符,即

$ awk -F'<next>' '{print $NF}' file

Rocky
id: 1321
age: 36
exp: 10
occupation: doctor
$awk-F''{print$NF}文件
多石的
身份证号码:1321
年龄:36
实验:10
职业:医生
$ awk -F'<next>' '{print $NF}' file

Rocky
id: 1321
age: 36
exp: 10
occupation: doctor