【发布时间】:2014-01-12 04:43:37
【问题描述】:
我得到了这个文本文件,我需要为我的程序读取用户输入:
Harry Potter - The Half Blood Prince:J.K Rowling
The little Red Riding Hood:Dan Lin
Harry Potter - The Phoniex:J.K Rowling
Harry Potter - The Deathly Hollow:Dan Lin
下面是我的代码的 sn-p:
#search with both field entered
elif [ -n "${SearchTitle}" ] && [ -n "${SearchAuthor}" ]; then
echo "Found ` grep -icw "${SearchTitle}" $FILENAME | grep -icw "${SearchAuthor}" $FILENAME ` record(s) :"
cat $FILENAME | grep -iw "${SearchTitle}" $FILENAME | grep -iw "${SearchAuthor}" $FILENAME | awk -F':' '{ printf "%-1s, %-1s, $%-1s, %-1s, %s\n", $1, $2, $3, $4, $5 }'
fi
用户将在提示时输入标题和作者,他们将查看找到的副本数量并列出整行。
用户只能输入“harry”和“Dan”,并且应该能够列出输出。
然而,这样做的时候……小红帽和哈利波特都出现了死气沉沉的空洞。
如何纠正这个问题,使它只匹配单行?
如何在用户输入变量中使用通配符?
【问题讨论】:
标签: shell variables unix wildcard