awk - 使用 awk 显示从第一列开始的行范围
问题描述
我有一个如下所示的表格,这里我只想Emp_Name
从第二行开始打印第一列的所有内容。
Emp_Name Position Experience
Cara Senior 12
Doc Junior 6
Quinn Lead 14
Cedric Manager 18
Collen Junior 8
我知道这awk '{print $1}'
会打印表中的第一列,但是如何跳过第一行或字段Emp_Name
,即打印第二行到最后一个字段的所有名称?这里最后一个字段或行号可以是任何数字(未知)。
任何帮助,将不胜感激。
解决方案
虽然不完全清楚,如果您只想跳过第一行然后尝试跟随。
awk 'FNR>1' Input_file
或打印第一列使用:
awk 'FNR>1{print $1}' Input_file
如果您不知道哪个字段Emp_No
会出现,并且您想从第一行查找其列号并且不想从该行的其余部分打印相同的列,请尝试以下操作。
awk '
BEGIN{
OFS="\t"
}
FNR==1{
for(i=1;i<=NF;i++){
if($i=="Emp_Name"){
val=i
next
}
}
}
{
for(i=1;i<=NF;i++){
if(i==val){
continue
}
else{
value=(value?value OFS:"")$i
}
}
print value
value=""
}
' Input_file
推荐阅读
- java - Spring bean原型范围比GC中的另一个Singelton bean
- javascript - Webpack / ts-loader - 编译到 es5 不工作
- amazon-ec2 - Cloudformation EC2 实例具有两个接口和一个附加到主接口的 EIP
- python - 如何计算嵌套循环的时间复杂度?
- sql-server - 在 SSIS 中查找转换
- python - 关闭 PySide 窗口会终止整个程序
- python - 如何分隔列表中的元素?(Python)
- c# - 模拟 Url.Action => 返回 null
- c# - Azure DevOps 管道中的问题在 .net 6 中恢复 AutoMapper NuGet 包
- c# - 从对象到 Json 到 Xml 到对象