Reputation: 3
I have this text file containing employees and their details, I want to mark only those employees whose job_title is Operations Manager and their business_email. Please tell me how can I do this in Emeditor or Notepad++ or any other way?
Sample
["state": true,
"employees": [
{
"first_name": "Kate",
"last_name": "Garland",
"headline": "Director of Communications and Enrollment",
"job_title": "Director of Communications and Enrollment",
"location": "Clearwater, Florida, United States",
"business_email": "[email protected]",
"personal_email": "[email protected]",, fi}{ln}"
},
{
"first_name": "Dorina",
"last_name": "Valentin",
"headline": "Operations Manager",
"job_title": "Operations Manager",
"location": "New York, New York, United States",
"business_email": "[email protected]",
"personal_email": "",, fi}{ln}"
},
{
"first_name": "Shannon",
"last_name": "Sheppard",
"headline": "Founding Member",
"job_title": "Founding Member",
"location": "Tampa, Florida, United States",
"business_email": "[email protected]",
"personal_email": "[email protected]",, fn}{ln}"
},
{
"first_name": "Nicole",
"last_name": "Peacock",
"headline": "Realtor",
"job_title": "Realtor",
"location": "Dayton Metropolitan Area",
"business_email": "[email protected]",
"personal_email": "[email protected]",, fi}{ln}"
},
Upvotes: -2
Views: 272
Reputation: 48
@Claudia, your request is already done for you? If not, let me know if one of my example fit your request.
I could not tell from your request,
How familiar are you with EmEditor? Whit EmEditor it is also very easy to extract or filter them (I don't know that Notepad++ has this function filter, extract, etc.. Since Notepad++ can not open my large files, I have no experience with Notepad++). Here you can extract the searched data sets (the original file remains unchanged) and you have a new file with the hits. Whether these are found with the filter or search/search replace does not really matter. Please always use the latest version (also beta version) of EmEditor.
first example (Find - Extract):
second example (macro): In this marcro are only single command where can be done also manualy. my Steps:
stop refresh window
search data sets with regular expressions and extract it to new doc with tabulator delimiter
put the headline on top
activate CSV view (with tab)
activate heading line
filter Operations Manager (it whould be also posible to extract hits directly)
Redraw = false
document.selection.Replace("{\\n\\s{1,}\"first_name\":(.+),\\n\\s{1,}\"\\w+\":\\s{1,}(.+),\\n\\s{1,}\"\\w+\":\\s{1,}(.+),\\n\\s{1,}\"\\w+\":\\s{1,}(.+),\\n\\s{1,}\"\\w+\":\\s{1,}(.+),\\n\\s{1,}\"\\w+\":\\s{1,}(.+),\\n\\s{1,}\"\\w+\":\\s{1,}(.+),,","\\1\\t\\2\\t\\3\\t\\4\\t\\5\\t\\6\\t\\7",eeReplaceAll | eeFindReplaceRegExp | eeFindExtract | eeFindLineOnly,0);
document.selection.StartOfDocument(false);
document.selection.LineOpen(true);
document.selection.Text= "first_name\tlast_name\theadline\tjob_title\tlocation\tbusiness_email\tpersonal_email"
editor.ExecuteCommandByID(22529); //
document.HeadingLines = 1
document.Filter("Operations Manager",4,0,0,0,0,0,0);
You can only really compare the speeds of the different solution options with the original data.
Upvotes: 0
Reputation: 84
Set the following options under EmEditor - Find - Advanced button, and set the following options:
Search for: ^\s*{.+?"Operations Manager".+?},
and Click the "Select All" button.
Then Find ".", click "In the selection only" and Click the Bookmark button:
This will bookmark the relevant records. If you just want to bookmark the email (It wasn't entirely clear in your question), then change "." to "business_email" and click bookmark.
Upvotes: 0
Reputation: 2099
Assuming the JSON file is formatted correctly, you can Find (Ctrl-F) for the string "job_title": "Operations Manager"
. In the Find dialog there is the button "Bookmark" if you want to mark those lines.
Upvotes: 0