Các cách đếm số lượng từ khóa trong một hoặc nhiều file text
1. Một số điểm về text file
- Các loại text file: txt, csv, json…
- File text có thể mở được bằng nhiều trình mở như: notepad, notepad++, wordpad, VS….
- File có dung lượng nặng khá khó khăn nếu mở bằng các trình mở thông thường như notepad hay notepad++ , gây đơ trình mở.
Một trong số những việc khi làm việc với dữ liệu text, đặc biệt là trong công việc kiểm thử, đó là cần xác định tổng số từ khóa trong 1 hoặc nhiều file text, vậy giải pháp là gì?
Có 2 cách để đếm số lượng từ khóa trong một file text: sử dụng trình mở và sử dụng script thông qua PowerShell ISE của HĐH Windows. Cụ thể như sau:
2. Đếm số lượng từ khóa trong một file text bằng trình mở
Ví dụ 1: Đếm từ khóa changeDateTime trong 1 file json.
Có thể đếm bằng cách mở file bằng trình mở notepad++, VS… và dùng chức năng Find để có kết quả tổng số từ khóa có trong file như ảnh dưới đây mình sử dụng notepad++:
3. Đếm từ khóa trong 1 hoặc nhiều file bằng PowerShell ISE
Ở trên mình đã trình bày cách đếm số lượng từ khóa trong 1 file text bằng chức năng Find của trình mở, nhưng việc này có 2 hạn chế như sau:
- Nếu file có dung lượng nặng, dễ bị đơ trình mở, không thể đếm được
- Chỉ đếm được số lượng từ khóa trong 1 file
Như vậy nếu như muốn đếm số lượng từ khóa trong nhiều file dữ liệu/1 folder dữ liệu thì giải pháp là gì?
Giải pháp mình chọn lựa ở đây là dùng PowerShell ISE của HĐH Windows
Ví dự 2: Đếm từ khóa changeDateTime của toàn bộ file json trong folder D:\test
Mở PowerShell ISE và sử dụng script như sau:
Get-ChildItem -Path “D:\test\” -Recurse -Include “*.json” |
Foreach-Object {
$FileContent =Get-Content $_.FullName
$Matches = Select-String -InputObject $FileContent -Pattern “changeDateTime” -AllMatches
$Matches.Matches.Count
Write-Host “$_,$linesInFile”
}
Trong đó: Path “D:\test\” là thư mục chứa các file text(ở đây mình đang làm với file json) cần đếm từ khóa
Pattern “changeDateTime” là từ khóa cần đếm
và kết quả nhận được là: số lượng từ khóa trong file tương ứng với từng tên file như hình dưới đây:
4. Kết luận
Như vậy bằng việc sử dụng PowerShell của HĐH Windows, việc đếm toàn bộ số lượng từ khóa của nhiều file text/toàn bộ file text trong 1 folder trở nên dễ dàng hơn so với việc đếm từng file bằng trình mở. Hy vọng bài blog này của mình có thể giúp ích cho mọi người, đặc biệt là các bạn tester trong khi làm việc với dữ liệu text.