AWK 傳結果到SHELL指定變數 - Linux

Table of Contents

小弟遇上一個問題

用 ls 列出目錄下所有檔名之後

我要只取其中一個字串並指定到指定變數

我試著用 awk抓出 print第幾列 但是要傳回SHELL變數時

該指定變數echo出來卻總是空白

echo $files | awk '{fn=$1} {printf "%10s\n",fn}'

這樣會print出檔名

不過我回到SHELL就沒辦法取用$fn

我有嘗試過eval

echo $files |eval $(awk '{printf(fn="%s\n",$1)}')

是有傳回東西,不過fn後面並不是我要檔名

echo $files | fn=eval $(awk '{fn=$1} {printf "%10s\n",fn}')

bash卻把awk結果當成command


請問版上高手們,這個問題有什麼其他解決方法呢?

--

All Comments

Belly avatarBelly2011-12-11
fn=$(awk....)