[英]Regex operations on Javascript functions
我正在嘗試在Javascript中查找函數名稱並插入以下代碼
var functionName = arguments.callee.toString().substr('function '.length);
functionName = functionName .substr(0,functionName .indexOf('('));
console.log(functionName);
這會將函數名稱寫入調用的控制台。 我對此不太幸運。 我一直在嘗試使用sed.exe進行變體:
sed "{/function/ s/$/\var ownName = arguments.callee.toString().substr('function '.length);ownName = ownName.substr(0,ownName.indexOf('('));console.log(ownName);/}" *.js
這只是sed "/elephant/ s/$/\\&castle" *.js
格式
任何人都知道如何將我要追加的內容發送到下一行,而不是與函數發送到同一行嗎? 另外,如何實現以下內容(但在sed.exe中)以避免匿名函數和eval函數?
grep -Eho "^s*function w+" *.js | sort
謝謝您的幫助。
將\\n
添加到替換字符串中可用於GNU sed。 我將grep的正則表達式更改為sed的^[[:blank:]]*function \\w\\+
,並將您的s
語句的條件更改為該正則表達式,它可以正常工作。 這是bash語法中的整個命令:
sed "/^[[:blank:]]*function \\w\\+/ s/\$/\\nvar ownName = arguments.callee.toString().substr('function '.length);\\nownName = ownName.substr(0,ownName.indexOf('('));\\nconsole.log(ownName);\\n/" *.js
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.