这是student.txt
文件:
RollNo|Name|Marks
123|Raghu|80
342|Maya|45
561|Gita|56
480|Mohan|71
我想从“标记”列中获取数据,并且使用了awk命令
awk -F "|" '{print $3}' student.txt
它的输出类似于
Marks
80
45
56
71
此输出包含列名“ Marks”,但我只想获取数据并像这样显示输出
80
45
56
71
答案 0 :(得分:3)
如果输入记录数大于1,则在awk
脚本中添加条件以打印第三个字段:
awk -F'|' 'FNR>1{print $3}' student.txt
答案 1 :(得分:3)
请尝试以下操作,它没有Marks
关键字的硬编码字段号,在标题中它将查找该字符串,并且仅打印Marks下的那些列,因此即使您的Marks列也位于任何字段编号都应该可以正常工作。在https://ideone.com/Ufq5E2链接中编写和测试。
awk '
BEGIN{ FS="|" }
FNR==1{
for(i=1;i<=NF;i++){
if($i=="Marks"){ field=i }
}
next
}
{
print $field
}
' Input_file
答案 2 :(得分:0)
从“标记”列中获取数据--使用[ing] awk :
$ awk -F\| '
FNR==1 {
for(i=1;i<=NF;i++)
if($i=="Marks")
next
exit
}
{
print $i
}' file
80
45
56
71
答案 3 :(得分:0)
另一个例子:
awk -F'|' 'NR != 1 {print $3}' input_file
答案 4 :(得分:0)
非奥克选择
{{1}}