Extract string from an HTML file bash script - html

I need to get the IP 8.8.8.8.8 from the result.html file. The following html code is a fragment of the original code. The problem is that the IP 8.8.8.8.8 can change so I think I have to find the previous word, in this case "ip:", because it never changes.
The script I'm programming is in bash.
placeholder"}]},"error":"","status":200,"statusText":"OK","success":true,"csrfToken":"","userIp":""},"type":"ip","user":null,"isIndexable":true},"__N_SSP":true},"page":"/list/ip/[ip]","query":{"ip":"8.8.8.8"},"buildId":"2765c1a1","isFallback":false,"dynamicIds":[58954],"gssp":true,"customServer":true,"scriptLoader":[]}</script>
</body>
</html>
I have a slight idea of how it could be but I don't know how to implement it. You would have to first search for "ip": and then extract the IP.
Since the IP changes, one time it can be 8.8.8.8 another time it can be 10.0.100.36 for example or any other IP.

Related

How can I duplicate a folder and change the name?

I'm trying to setup a signup form on my webpage, once the user creates there account, I would like to automatically create a folder of what the user typed in a input with the ID of cfinput, the problem i'm running into, is I am not experienced in the jQuery zones, I focus on creating front-end design using CSS and HTML languages. Summarization, I can't figure out how to create a copy of a folder named base_org and change it's name to what the user wrote in the input listed above,
Any help is greatly appreciated, if you have any questions just comment and I will try to re-edit my post to make it more clear.
JavaScript cannot do this on the client side. You need a backend which processes the signup form submission and creates a copy of your base directory.
A general solution is to call the system's copy command. On Linux, you can copy a directory like this:
cp -r /path/to/base_org /path/to/new_folder
You can execute the shell command in your preferred backend language. For example in PHP, you can use shell_exec:
// process the form first and put username in $username
shell_exec("cp -r /path/to/base_org /path/to/$username");
Make sure the username won't contain any invalid or special characters or other shell commands.
Another option would be to use the backend language's API to copy the directory.

File-Monitoring via Lua Script

Good evening,
I am currently developing a way to import machine created data from a csv sheet into a database.
The question I have is, is there a way to react to a change in a csv file with Lua.
The file gets a line in this format:
17162H,"801234500001",9/23/2016 12:33:30 PM,"INV"
Every time a scanner is finishing a scan process, added under the old lines, but there is no direct connection to the database, to trigger the script.
It doesn't matter if the change is detected via different file size, foldersize (of the folder that contains the file) or a change within the file information (like date of last opening), but I can't open and read in it permanently due performance reasons.
Also this is the first time I ask here, so sorry for my clunky way, I'll try to improve myself with that over time.
Take a look at linotify, it has lua bindings for inotify and looks like it should do the trick, using the "modify" event to trigger your script.
I use LibUV based variant in my spylog apllication
Usage:
file_monitor(path_to_file, {eol = '\r?\n'}, function(line)
...
end)
If you need to run this on Windows, you can use winapi library, which supports file watchers. Here is an example of how it's used in one of my projects; you'll need to call winapi.sleep() to allow time for the check to trigger.

Scan an area of a web page's source code for changes while reporting it?

this is one heck of a confusing question to ask so here it goes. Firstly, I'm not asking you to write me any code I just need help going in the right direction for what I'm trying to achieve here. Basically the task is this, I want to scan a select area of a web page's source code for changes and if something does change, I want to report it somewhere (like a console or something). However, I do not want just a notification of change, I also want what the change is/was. I've been looking into things like jsoup but I am still struggling to even find out what this is called.
Any pointers would be insanely appreciated. Thanks, Optimistic.
Here are some steps assuming this is from a node.js project:
Get the URL for the specific script file you're looking for a change in.
Using the request() module, fetch that URL.
Break the data up into lines (probably using .split()).
Find the specific line you are looking for either by counting line numbers of by searching for some representative text in that line.
Using some sort of search in that line (perhaps a regex), find the current value of the exact item in that line you are looking for.
Save the current value.
Then, at some future time, repeat this whole process and compare what you find to the previous value.
If this is being done from a browser instead of node.js, then use an Ajax call to retrieve the file. If the file is on another domain from your web page and that domain does not permit cross-origin requests, then you cannot solve this problem in an automated fashion from a browser in your own web page.
Here is how I would do it with Jsoup:
Document doc = Jsoup.connect(url).get();
String scriptCssQuery = "script"; // Tune this CSS query to find THE script you need.
Element script = doc.select(scriptCssQuery).first();
if (script != null) {
String scriptLines = script.html();
// Store the changing line somewhere and compare it to its previous value...
}

How to remove a text from multiple HTML files in one go?

We have implemented around 180 different HTML files. There's one thing common in each file i.e. an email address. But today we came to know that we need to remove that email address from each file. Is there any efficient way that we can remove that email address from all those files once in a go? I really do not want to open up each file one by one and remove that email address from all the files in 180 attempts, really inefficient.
You can use NotePad++ to 'Find in files', this will scan search criteria (and replace the search string, if specified) in a pointed directory. You can easily overwrite the email address by an empty string.
You can achieve this, by using the Windows Power Shell.
Navigate to the root directory of your HTML Files,
and place the following command:
foreach($youroldhtml in (dir -r -i *.html -force)) { $yournewhtml = gc $youroldhtml| where { $_ -notlike "*your email adress goes here*" }; sc $youroldhtml $yournewhtml}
EDIT:
Of course you have to replace your email adress goes here with the email you want to remove.

Verify a Tif with ApprovalTests

I have been asked to update a system where header information gets injected into a tif via a 3rd party console application. I don't need to worry about that bit.
The part I have been asked to look at it the merge process that generates the header information.
The current file generated by the process is assumed as correct, before I make any changes, so I want to add this as an approved result, from that I can then check that the changes I make will alter the file as expected.
I thought this would be a good opportunity to look at using ApprovalTests
The problem I have is that for what ever reason the links to the videos are considered corruptible (Possibly show me kittens jumping into boxes or something, which will stop me working, which ironically means I slow down my work done because I cannot see any help videos).
What I have been looking at is the Approvals.Verify and Approvals.VerifyFile extensions.
But what appears to be happening is confusing me.
using VerifyFile creates a received file, but the contents of the file are just a line the name of the file I have asked it to verify.
using Verify(new FileInfo("FileNameHere")) does not appear to generate the received file that I need to flag as approved, but the test does return saying that it cannot find the approved tif file.
I am probably using VerifyFile completely wrong and might be looking at using Verify wrong as well.
useful info?
Might be useful to know, that as this is a legacy application, running as a windows service, I have wrapped the service in a harness that allows me to call the routines, so the files are physically being written elsewhere on the machine outside of my control (well there is a config, but the return of the service I call generates a file in a fixed location if it is successful). I have tried copying that into the Unit Test project, but that doesn't appear to help.
Verify(File) and VerifyFile(string) are both meant to verify an existing file. As such they merely setting the received file to the file you pass in. You will still need to move/approval/create the approved file.
Here is the pseudo code and process.
[UseReporter(typeof(DiffReporter), typeof(ClipboardReporter)]
public void TestTiff()
{
string tif = YourProcessToCreateTifFile();
Approvals.VerifyFile(tif);
}
[Note: if you don't have an image diff installed, like TortoiseDiff, you might want to use the FileLauncherReporter]
Run this, once you get the result, move the file over by pasting your clipboard into a cmd window.
It will move the temporary tif to your test directory with the name ClassName.TestTiff.approved.tif
After that the test should pass until something changes.
Happy Testing!