scotrod
scotrod

Reputation: 119

Is there a script that can extract particular link from txt and write it in another txt file?

I'm looking for a script (or if there isn't, I guess I'll have to write my own). I wanted to ask if anyone here knows a script that can take a txt file with n links (lets say 200). I need to extract only links that have particular characters in them, let's say I only need links that contain "/r/learnprogramming". I need the script to get those links and write them to another txt files.

Edit: Here is what helped me: grep -i "/r/learnprogramming" 1.txt >2.txt

Upvotes: 0

Views: 59

Answers (3)

Ayul Ayol
Ayul Ayol

Reputation: 11

you can use ajax to read .txt file using jquery

<script src=https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js></script>
<script>
  jQuery(function($) {
  console.log("start")
  $.get("https://ayulayol.imfast.io/ajaxads/ajaxads.txt", function(wholeTextFile) {
    var lines = wholeTextFile.split(/\n/),
      randomIndex = Math.floor(Math.random() * lines.length),
      randomLine = lines[randomIndex];
    console.log(randomIndex, randomLine)
    $("#ajax").html(randomLine.replace(/#/g,"<br>"))
  })
})
</script>
<div id=ajax></div>

Upvotes: 1

deepfriedmars
deepfriedmars

Reputation: 55

If you are using linux or macOS you could use cat and grep to output the links.

cat in.txt | grep /r/programming > out.txt

Solution provided by OP:

grep -i "/r/learnprogramming" 1.txt >2.txt

Upvotes: 0

Leonardo Emili
Leonardo Emili

Reputation: 401

Since you did not provide the exact format of the document I assume those links are separated by newline characters. In this case, the code is pretty straightforward using Python/awk since you can iterate over file.readlines() and print only those that match your pattern (either by using a lines.contains(pattern) or using a regex if the pattern is more complex). To store the links in a new file simply redirect the stdout to a new file like this:

python script.py > links.txt

The solution above works even if links are separated by an arbitrary symbol s, first read the file into a single string and split it over s. I hope this helps.

Upvotes: 0

Related Questions