只是想知道爲什麼這樣不起作用?awk將字段字符串分配給變量不起作用
這是我的AWK代碼,將 「HH:MM:SS」 格式,以秒
a.awk
3 BEGIN {
4 FS=":";
5 }
6
7 {
8 retval = 0;
9 for (i = 1; i <= NF; i++) {
10 retval += $i * 60 ** (NF-i);
11 }
12 print $retval;
13 }
14
input.txt
59:22:40
$ cat input.txt | awk -f a.awk
//<empty>
$
然而
,我嘗試在命令行:
$ echo "00:59:30" | awk 'BEGIN { FS=":" } { retval = 0; for (i = 1; i <= NF; i++) { retval += $i * 60 ** (NF-i); } print retval;}'
3570
有什麼錯a.awk ?只是clarifcation
更新
$ awk --version
GNU Awk 4.0.1
Copyright (C) 1989, 1991-2012 Free Software Foundation.
無用的'cat':'awk -f a.awk
dmckee
我沒有看到任何東西只是看着它,但我有兩個問題:(1)爲什麼你的'a.awk'轉儲從第3行開始? (並且我假設那些行號是這篇文章的修飾,而不是文件本身,對嗎?)和(2)如果從'input.txt'發送輸入,命令行版本是否正常工作? – dmckee
@dmckee嘗試
lhe