linux 从一行开始查找,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

标签:bash,linux

来源: https://codeday.me/bug/20191025/1928539.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值