In PHP verwende ich grep
, um alle Anwendungsfälle für bestimmte Klassen in fast allen Dateien zu suchen und zu zählen.
\exec("grep -orE '" . $classesBarred . "' ../../front/src/components | sort | uniq -c", $allClassesCount);
Stringartig von $classesBarred
包含类似于search-unfocused|bg-app|enlarged-window
(aber mehr).
Das aktuelle Ergebnis ist
' 2 ../../front/src/components/Actions/ActionOwner.vue:show', ' 1 ../../front/src/components/Actions/ActionOwner.vue:action', ' 1 ../../front/src/components/Actions/ActionOwner.vue:show', ' 5 ../../front/src/components/Actions/ActionOwner.vue:action', ' 1 ../../front/src/components/Actions/ActionOwner.vue:show', ....(还有几百行类似的结果)
Ich muss die Ergebnisse in einem Array speichern, etwa so:
[ {show: 38}, {action: 123}, {search-unfocused: 90}, {....} ]
Herausgeber:
@Freeman bietet hier eine Lösung mit awk
grep -orE "btn-gray|btn-outline-white" ../../front/src/components | awk -F: '{打印 }' | awk -F/ '{print $NF}' |排序| uniq-c| awk '{print "::" }'
Habe folgende Ergebnisse erhalten:
btn-gray::1 btn-outline-white::13
是的,我可以看到,你的代码使用
awk
将grep
的输出重新排列为两列,一列是类名,另一列是计数, 输出结果如下:现在你可以通过 PHP 将这个输出解析为一个数组,代码如下:
数组的结果如下:
更新:
如果你坚持使用 awk 和 sed,你可以这样做:
结果如下:
祝你好运!