简体   繁体   English

如何使用awk从一行特定字段中提取多个值?

[英]How to extract multiple values from a line of particular fields using awk?

I am having a file "file1.txt" which is having the data as follows: 我有一个文件“ file1.txt”,其数据如下:

rahul 1994 Australia 40000 拉乌尔1994澳大利亚40000
akash 2000 India 50000 阿卡什2000印度50000

Now i want to extract values of field 1 and field 4 in some variable. 现在我想在某个变量中提取字段1和字段4的值。
I am doing it as follows: 我这样做如下:

while read line  
do  
  name=$(awk '{print $1}'<< "$line")  
  salary=$(awk '{print $4}'<< "$line")  
  echo $name $salary
done < file1.txt

So i want to ask that can i assign values to name and salary by using only one awk command? 所以我想问问我是否可以仅使用一个awk命令将值分配给姓名和薪水?

Better do this in plain ; 更好地做到这一点在普通 ;

while read name _ _ salary; do    
  echo "$name $salary"
done < file1.txt

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM