微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐