linux-使用grep查找一行并仅从该行打印2个单词

我是Linux新手,所以决定学习Shell脚本.我创建了一个文件data.txt,其中包含以下文本:

12345 Nick Abrams A 10900
67890 George Kennedy I 20000
(text goes on...)

一个字段是卡的密码,第二个字段是客户的姓名,第三个字段是姓,第四个字段表示卡是否处于活动状态(或非活动状态),最后一个字段是客户的余额.我需要编写一个脚本来从键盘接收客户的密码,如果该密码写在文本文件中,那么脚本应该在屏幕上打印客户的名称和姓氏.我已经像这样使用过grep

grep "^$pin" data.txt

但是它返回客户的所有详细信息.我只需要打印第二和第三字段,而忽略其他所有内容.是否有任何参数可以隔离我需要的单词?

解决方法:

您能否尝试遵循并让我知道这是否对您有帮助.

cat script.ksh
echo "Please enter your choice:"
read value

awk -v val="$value" '$1==val{print $2,$3}' Input_file

编辑:使用grep添加解决方案并在此处也切入脚本.

cat script.ksh
echo "Please enter your choice:"
read value

grep "$value" Input_file | cut -d" " -f2,3

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...