用戶輸入我知道ARGV [I]可用於存儲用戶輸入。但是,我想在awk腳本中使用它,並讓ARGV [i]比較來自其他文本文件的字段。如果ARGV [i]匹配字段或者字段包含用戶輸入的ARGV [i],那麼我想返回該行的其他字段。 讓說我有一個文件,testing.txt使用ARGV來獲得awk腳本
123123123:Walter White:1:2:3:4
123123124:Jesse Pinkman:1:3:4:1
這是我的awk腳本,awkScript.awk
#!/usr/bin/awk -f
BEGIN{FS = ":"; print "ENTER A NAME: "}
{
for (i = 1; i < ARGC; i++)
{
if ($2 ~ /'ARGV[i]'/)
{
print "Member ID: " $1
}
}
}
它只是打印輸入一個名稱:當我執行該腳本文件。它甚至沒有得到用戶的輸入。
'ARGV'不能用於交互式的東西。它是shell將完整的命令行交給程序,也就是你在'/ proc/PID/cmdline'下找到的。在你的情況下,它看起來像'你的程序'Walter White'datafile'。 如果你想獲得用戶輸入,你可以看看[這個問題] [1]。 [1]:http://stackoverflow.com/questions/12907238/get-the-user-input-in-awk – joepd 2014-10-19 09:45:23
這將更適合純粹的* nix解決方案。 – 2014-10-20 07:12:04