我的文件名是data.txt
kundan 20000账户 amit 15000外野手 chandan 25000 assi-hr .... .... .....
以这种方式创建了一个文件。我正在寻找使用awk可以 当我想搜索特定的雇主数据时,在一行中打印雇主姓名,工资和设计。
awk是否读取excel文件?
答案 0 :(得分:0)
如果您的数据文件确实是以空格分隔的数据序列,那么这样的方法就可以了:
$ cat >> find.awk
BEGIN {
RS=" "
}
NR%3==1 {
name=$1
}
name==find {
printf "%s%s", $1, (NR%3 ? OFS : ORS)
}
测试它:
$ awk -f find.awk -v find="kundan" data.txt
kundan 20000 accounts
如果您的数据是:
kundan
20000
accounts
...
只需删除BEGIN
块。如果您的数据是:
kundan 20000 accounts
amit 15000 fielder
...
使用grep ^kundan data.txt
或awk -v find="kundan" '$1==find' data.txt
,但后者写的时间更长。
AWK本身不会读取Excel文件。您可以将Excel文件导出为CSV文件并针对它们运行AWK。 AWK喜欢CSV文件。 :d