awkプログラミングを通じてユーザー入力を読み取る方法はありますか? 私は、生徒の名前とIDを含むファイルを読むためのスクリプトを書こうとしています。 キーボードから生徒の名前を取得し、awkを使ってすべての生徒の結果を返す必要があります。awkでユーザー入力を取得
7
A
答えて
14
getline
機能を使用してユーザー入力を収集できます。これをBEGIN
ブロックに設定してください。ここscript.awk
の内容です:
BEGIN {
printf "Enter the student's name: "
getline name < "-"
}
$2 == name {
print
}
ここでのIDの、名前、および結果を例ファイルです:入力ファイルは次のようにフォーマットされたと仮定すると
awk -f ./script.awk file.txt
7
:
1 jonathan good
2 jane bad
3 steve evil
4 mike nice
ランなどは:
name<tab>id
awk '
BEGIN { FS=OFS="\t"; printf "Enter name: " }
NR == FNR { name = $0; next }
$1 == name
' - file
またはGNUとあなたがした後、コントロール-Dを入力する必要はありませんので、あなたがnextfile使用することができますawkは:ペアと、ファイル内の名前は、ユーザーの入力と一致する行を印刷するには、これを試してくださいあなたの入力:
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. 取得ユーザー入力
- 2. RingoJS javascript - コンソールでユーザー入力を取得
- 3. ダイナミックコントロールからユーザー入力を取得
- 4. ユーザー入力を取得するRuby
- 5. Python Djangoユーザー入力を取得する
- 6. Jquery:入力時にユーザーの入力を取得する方法
- 7. モデルレイヤーからのユーザー入力の取得
- 8. アクションバーメニューからのユーザー入力の取得
- 9. 数字を入力するまでユーザーからの入力を取得
- 10. まだ入力中にユーザー入力を取得する(端末アプリケーションで)
- 11. Rubyで入力を取得
- 12. iPhoneでユーザー入力を取得する方法
- 13. シェルスクリプトのループ内でユーザー入力を取得する
- 14. プロローグでユーザー入力を取得する方法
- 15. ドラフトでユーザーから入力されたテキストを取得する
- 16. アンドロイドスタジオのグラデルビルドでユーザーからの入力を取得
- 17. Rコンソールでユーザー入力を取得する方法
- 18. ユーザー入力を取得してJavaで変更する
- 19. PHPでユーザーの入力を取得してエコーする
- 20. wicketでユーザー入力を取得するDateTimeField
- 21. JavaScriptでユーザー入力のURLを取得して検証する
- 22. 特定の形式(Python 3.5)でユーザー入力を取得する
- 23. AsyncTaskでユーザー入力を取得する方法
- 24. C++で静的にクラスへのユーザー入力を取得
- 25. Excelクエリでユーザーからパラメータ入力を取得
- 26. Swiftのプレイグラウンドでユーザー入力を取得する方法は?
- 27. Androidのフォームからユーザー入力を取得できません
- 28. SQLはユーザー入力を取得できませんか?
- 29. JavaScriptでユーザー入力を取得する方法
- 30. awkまたはvariableの検索パターン内のユーザー入力
+1次のファイル...私はいつもあなたの答えを読んで物事を学ぶことができます。すべてのものはマニュアルページに入っています。あなたは実用的な例を使って素敵な説明をしただけです。ありがとうございました。 – Kent
+1、私はそれを2番目に! –