我是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