Dalam PHP saya menggunakan grep
untuk mencari dan mengira semua kes penggunaan untuk kelas tertentu dalam hampir semua fail.
\exec("grep -orE '" . $classesBarred . "' ../../front/src/components | sort | uniq -c", $allClassesCount);
Seperti rentetan $classesBarred
包含类似于search-unfocused|bg-app|enlarged-window
(tetapi lebih banyak lagi).
Hasil semasa ialah
' 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', ....(还有几百行类似的结果)
Saya perlu menyimpan hasil dalam tatasusunan, seperti:
[ {show: 38}, {action: 123}, {search-unfocused: 90}, {....} ]
Editor:
@Freeman menyediakan penyelesaian di sini, menggunakan awk
grep -orE "btn-gray|btn-outline-white" ../../front/src/components | awk -F: '{打印 }' | awk -F/ '{print $NF}' |排序| uniq-c| awk '{print "::" }'
Mendapat keputusan berikut:
btn-gray::1 btn-outline-white::13
Ya, saya dapat melihat bahawa output kod anda menggunakan
awk
将grep
disusun semula kepada dua lajur, satu ialah nama kelas dan satu lagi ialah kiraan, Outputnya adalah seperti berikut:Kini anda boleh menghuraikan output ini ke dalam tatasusunan melalui PHP, kodnya adalah seperti berikut:
Hasil tatasusunan adalah seperti berikut:
Kemas kini:
Jika anda berkeras untuk menggunakan awk dan sed, anda boleh melakukan ini:
Hasilnya adalah seperti berikut:
rrreeeSemoga berjaya kepada anda!