1
a=1
echo -n "Enter book id: "; read book_id;
while [ $a -eq 1 ]
do
a=$(awk '{ if($3 == "$book_id") print 1; else print 0}' exercise1_data.txt)
echo $a
if [ $a -eq 1 ]; then
echo -n "Please enter unique book id: "; read book_id
fi
done
我试图检查用户输入的书籍ID是否是唯一的。我正在做的是检查文件“exercise1_data.txt”,如果有任何“book_id”的实例。 while循环将被执行,直到用户输入唯一的书籍ID。使用AWK进行验证
我得到一个错误Too many arguments
错误仍然存在......请你能帮组装代码..我是新来的awk编程... – debal 2013-04-09 18:09:50
这是因为错误是'bash'错误不是'awk'错误。我已经添加了正确的'bash'脚本。请upvote并接受这个答案。 – 2013-04-09 18:23:34
Thankyou在字段分隔符上的提示我真的没有想过这个。还有一些我想知道的。我所遵循的所有教程都表明,awk的语法为'awk'BEGIN {} {} END {}'',其中可以使用三者的任意组合。我在代码中看到了一些新东西:没有'if($ 3 == b_id)',并且是代码片段{{print 1;退出}'if语句的一部分或'awk进程段'的一部分。 – debal 2013-04-09 18:35:07