是否有任何方法通過awk編程讀取用戶輸入? 我嘗試編寫腳本來讀取包含學生姓名和ID的文件。 我必須通過鍵盤從用戶那裏獲得學生的姓名,並使用awk返回所有學生的成績。在awk中獲取用戶輸入
7
A
回答
14
您可以使用getline
函數收集用戶輸入。請務必在BEGIN
區塊中進行設置。下面是script.awk
內容:
BEGIN {
printf "Enter the student's name: "
getline name < "-"
}
$2 == name {
print
}
這裏的具有ID的,名稱,和結果的示例的文件:
1 jonathan good
2 jane bad
3 steve evil
4 mike nice
執行命令等:
awk -f ./script.awk file.txt
7
假設輸入文件的格式爲:
name<tab>id
雙你想打印該文件的名稱中用戶輸入相匹配的線,試試這個:
awk '
BEGIN { FS=OFS="\t"; printf "Enter name: " }
NR == FNR { name = $0; next }
$1 == name
' - file
或與GNU awk的,你可以用下一文件,所以你不必後進入控制d你的輸入:
awk '
BEGIN { FS=OFS="\t"; printf "Enter name: " }
NR == FNR { name = $0; nextfile }
$1 == name
' - file
發佈一些示例輸入和預期的輸出,如果這不是你想要做的。
1
我已經與線
"awk 'BEGIN{printf "enter:";getline name<"/dev/tty"} {print $0} END{printf "[%s]", name}' < /etc/passwd"
測試,對我來說是更好的解決方案,更readeable。
相關問題
- 1. 在c#中獲取用戶輸入
- 2. 使用輸入()在八度中獲取STDIN的用戶輸入?
- 3. 獲取用戶輸入
- 4. 獲取用戶輸入
- 5. 獲取用戶輸入
- 6. Java獲取用戶輸入
- 7. 獲取用戶輸入
- 8. 從Lua中的用戶獲取輸入
- 9. 從語音中獲取用戶輸入?
- 10. 當用戶點擊輸入鍵時獲取用戶輸入jquery
- 11. AWK:用戶輸入文本文件
- 12. 獲取客戶輸入塊
- 13. JQuery:在用戶輸入一個值後獲取輸入的值
- 14. 使用PHP獲取用戶輸入
- 15. 使用Switch C++獲取用戶輸入
- 16. 使用QTableWidget獲取用戶輸入
- 17. 獲取或不是用戶輸入
- 18. 獲取「用戶輸入的最大值」?
- 19. JTextArea獲取用戶輸入的文本
- 20. xargs無法獲取用戶輸入?
- 21. 通過vba獲取用戶輸入
- 22. 獲取Python用戶的按鍵輸入
- 23. Gradle:如何獲取用戶輸入
- 24. 獲取用戶輸入功能
- 25. 獲取用戶輸入爲int或str
- 26. Rails coffeescript獲取用戶輸入值
- 27. ocaml top:獲取用戶輸入
- 28. 從HTML表單獲取用戶輸入
- 29. 獲取用戶輸入 - shell編程
- 30. 從後臺獲取用戶輸入
+1 nextfile ...我總是可以通過閱讀你的答案來學習東西。即使所有的東西都在手冊頁中。你只是用實際的例子給出了很好的解釋。使它們容易被人記住。謝謝。 – Kent
+1,我秒! –