我在使用bash的基本搜索功能時遇到了問題。使用awk的〜操作符
基本上,我有一個$文件=「Books.txt」,並在它我具有由冒號分隔值:
C++ Programming for Dummies:Bob:60:50:20
Catch Me If You Can: Mary Ann:40:30:20
第一兩列分別是標題和作者。我試圖按照書籍的標題進行搜索。
read -p "Title: " searchTitle
到目前爲止,我有這樣的代碼:
awk -v findTitle="$searchTitle" 'BEGIN {FS=":"; OFS=", ";} $1 ~ findTitle {print $1, $2, "$"$3, $4, $5}' $file
它的工作原理,如果我在提示符下鍵入 「捕獲」 - 輸出:
Catch Me If You Can, Mary Ann, $40, 30, 20
但是,如果我搜索「C++ 「,它給我兩個 -
Catch Me If You Can, Mary Ann, $40, 30, 20
C++ Programming for Dummies, Bob, $60, 50, 20
我的任務離子是:爲什麼?結果,我應該只獲得'C++'書籍。是否有其他方法可以達到預期產出?我試圖找到答案,但無濟於事。
這解決了這個問題!謝謝你,先生!我從現在開始更多地關注awk的手冊 –
考慮搜索是否區分大小寫,如果不是,則在比較的兩邊應用'tolower()'。 –