2014-02-20 235 views
0

如何從awk腳本調用awk腳本並將第一個輸出分配給第二個變量?將awk輸出分配給awk變量

我有一個awk腳本,每晚讀取文件,檢查每行數據並寫入新文件。我需要在其中一個字段中添加其他格式。我已經有一個獨立的awk腳本來完成格式化操作,所以我需要做的就是調用這個awk腳本來查找適當的字段,並將通常打印的值賦給變量。

爲了將它放在上下文中,以下內容將所需的格式打印到屏幕上(因爲這就是title_case.awk所做的),但我無法使用該值進行進一步處理。

print old_name | ("/production/bin/title_case.awk") 

,所以我需要像下面這樣:

new_name = 'old_name | ("/production/bin/title_case.awk") 

感謝,

GER

+1

'new_name = $(command)' – devnull

+0

嗨devnull。我無法使用awk工作。對於我的例子,我會輸入什麼? new_name = $(print old_name |(「/production/bin/title_case.awk」))? –

回答

1

您可以嘗試使用getline到一個變量(http://www.gnu.org/software/gawk/manual/gawk.html#Getline_002fVariable_002fPipe

("/production/bin/title_case.awk "old_name) | getline new_name 
+0

感謝Hakon的幫助。我無法完全按照您的建議工作,因爲變量old_name不是文件,但我設法稍微修改它。以下是它應該做的。 「echo」old_name「| /production/bin/title_case.awk」| getline new_name –