我的問題似乎是一般的,但我找不到任何答案。sed + bash函數替代
在sed命令中,如何用由簡單的bash函數返回的值替換替換模式。
例如,我創建了以下功能:
function parseDates(){
#Some process here with $1 (the pattern found)
return "dateParsed;
}
和如下因素sed命令:
myCatFile=`sed -e "s/[0-3][0-9]\/[0-1][0-9]\/[0-9][0-9]/& parseDates &\}/p" myfile`
我發現卡拉科特 '&' 表示發現,我的當前模式像它被傳遞給我的bash函數和整個模式被替換的發現模式+ dateParsed。
有沒有人有想法? 謝謝
我仍然有這個解決方案的問題。 bash函數被調用。但參數&似乎沒有被正確地複製在函數中,因爲我不能使用$ 1參考&。 – 2011-04-25 12:59:01
哦,我很抱歉,但上面的解決方案是一個函數,它不僅僅只有參數,並且在sed命令之前被評估。另一種可能性是,稍後調用'$(script $(sed'sedcmd'file))' – 2011-04-25 14:51:51