使用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