入力ファイル私の.txt
ファイルには次の内容が含まれています。
Tom Thatcher's Fortune, by Horatio Alger, Jr. 56896
Paradise Lost, by John Milton 20
最初の文字列は本のタイトル、2番目の文字列は著者、最後の文字列は本の番号です。誰かが本番号を検索した場合(本番号が一致する場合)、行全体を印刷したいと思います。私は初めてbashスクリプトに触れました。
ベストアンサー1
それはまるで
grep BOOKNUMBER textfile.txt
この問題は解決する必要があります。
The Fortunes of Tom Thatcherもリストされている96冊を検索したくない場合は、以下を使用してください。
grep '[[:space:]]BOOKNUMBER[[:space:]]*$' textfile.txt
代わりに。
スクリプトとして(別名で保存searchbook
)
#!/bin/bash
BOOKFILE=/path/to/bookfile.txt
BOOK=$1
if [[ -z "$BOOK" ]]; then
echo -n "Booknumber? "
read BOOK
fi
grep '[[:space:]]'$BOOK'[[:space:]]*$' $BOOKFILE
だからあなたは実行することができます
searchbook BOOKNUMBER
または
searchbook
2番目のケースでは、数字を入力するように求められます。