0
我在我的輸入中有幾行代碼,用於初始化結構。每次我在輸入文件中看到如下行:sed的字符串轉換
something1 =(struct something2){something3,something4};
我需要將其轉換爲:
init_something2(& something1,something3,something4);
我用下面的函數,它的工作原理。
sed -e 's/\([a-zA-Z0-9]*\)\s*=\s*(\s*struct\s\([a-zA-Z0-9]*\)\s*)\s*{\s*\([a-zA-Z0-9]*\)\s*,\s*\([a-zA-Z0-9]*\)\s*}\s*;/init_\2(\&\1, \3, \4);/g'
我的問題是如何修改它,因此它將適用於任何輸入。 你可以修改它來做任何數量的輸入。例如像:
something = (struct something2) {something3, something4, something5, something6..};
應該成爲
init_something2(&something1, something3, something4, something5, something6..);
(注意paranthesis VS括號) 非常感謝!