2013-05-30 100 views
0

我擁有的功能在我的awk腳本解析線包含特定單詞/字符的awk不允許返回

function tohyphen (o) { 
     split ($0,a,"to[-_]") 
     split (a[2],b,"-") 
     k=b[1] 
     p=b[2] 
     return k 
} 

function tospace (o) { 
     split ($0,a,"to ") 
     split (a[2],b,"-") 
     k=b[1] 
     p=b[2] 
     return k 
} 

funtion pipe (o) { 
     split ($0,a,"|") 
     split (a[2],b,"-") 
     x=b[1] 
     y=b[2] 
     return x 
     #return x 
} 
{ 
#if (match ($0, /to[-_]/)) 
if ($0 ~ /to[-_]/) 
     print "found to- for interface ", $1, " is ", tohyphen($0), "is ",p, " is ", $1="",$0 

else if ($0 ~ /to /) 
     #(match ($0, /to /)) 
     print "found to for interface", $1, " is ", tospace($0), " is ", p, " is ", $1="",$0 
else if ($0 ~ /\|/) 
#  pipe($0) 
     print "found to for interface", $1, " is ",topipe($0), " is ", y, " is ", $1="",$0 
else 
     print $1, $1="",$0 
} 
第三功能,只是搜索的匹配來管

它不允許我回任何東西,給我的錯誤返回是功能之外。 任何想法可能是什麼問題或任何其他方式來執行此操作。

回答

0

嘗試拼寫函數正確!你有功能不起作用。您是否正在使用語法突出顯示編輯器awk?你可以從stackoverflows標記看到funtion不是保留字。

+0

非常感謝你,我爲此拍了一巴掌,花了我很長時間纔想到如何編寫這個腳本,我沒有看到如此基本的東西。使用nano,但它沒有突出顯示功能關鍵字 –

+0

You應該使用emacs或vi來編輯源文件,這會讓您的生活更輕鬆,並且您將更快地調試這些問題。您應該通過點擊旁邊的勾號來接受該答案,以顯示您的問題已解決。 –

+0

打勾標記,再次感謝這是我在stackoverflow上的第一個問題,是的,我認爲vi教程是即將閱讀的下一個事情。 –

相關問題