task_boiler
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
task_boiler [2022/08/11 21:57] – raju | task_boiler [2024/01/22 22:59] – [Issue] raju | ||
---|---|---|---|
Line 4: | Line 4: | ||
Start the first heading with " | Start the first heading with " | ||
- | ===== Apply unix commands to all but the first line ===== | + | ===== blocked by barrons |
- | ==== Situation | + | ==== Issue ==== |
- | Let's say we want to sort a series of numbers in descending order but keep the header at the top. For example, given | + | barrons.com is giving |
< | < | ||
- | % echo -e " | + | You have been blocked. |
- | value | + | |
- | 8 | + | |
- | 2 | + | |
- | 6 | + | |
- | 3 | + | |
- | </ | + | |
- | we want to output | + | |
- | < | + | |
- | value | + | |
- | 2 | + | |
- | 3 | + | |
- | 6 | + | |
- | 8 | + | |
- | </ | + | |
- | We can't directly use ' | + | Why? |
- | < | + | Something about the behaviour of the browser has caught our |
- | % echo -e " | + | attention. |
- | 2 | + | |
- | 3 | + | |
- | 6 | + | |
- | 8 | + | |
- | value | + | |
- | </ | + | |
- | ==== Bare bones solution ==== | + | There are various possible explanations for this: |
- | Create | + | * You are browsing and clicking at a speed much faster than |
- | < | + | |
- | # | + | * Something is preventing JavaScript from working on your |
- | # | + | |
- | # body: apply expression to all but the first line. | + | * There is a robot on the same network (IP WW.XX.YY.ZZ) as you. |
- | # Use multiple times in case the header spans more than one line. | + | |
- | # | + | |
- | # Example usage: | + | |
- | # $ echo -e " | + | |
- | # | + | |
- | IFS= read -r header | + | |
- | printf ' | + | |
- | " | + | |
- | </ | + | |
- | Make it executable | + | Having problems accessing the site? Submit feedback. |
- | < | + | ID: a-b-c-d-e |
- | % chmod +x body | + | |
</ | </ | ||
- | place it somewhere | + | ==== Solution ==== |
- | <code> | + | Click on the extensions button |
- | % mv body ~/bin | + | -> Bypass Paywalls Clean -> settings button -> Options |
- | </code> | + | -> scroll down to "BPC settings" |
+ | -> check " | ||
+ | -> Save | ||
- | This script will apply any unix command to all but the first line. For example, using it on our example | + | ==== System Information |
- | + | * bypass paywalls clean extension version: 3.5.2.1 (latest asof 2024-01-22) | |
- | < | + | * google chrome: 120.0.6099.200 |
- | % echo -e " | + | * OS: Windows |
- | value | + | |
- | 2 | + | |
- | 3 | + | |
- | 6 | + | |
- | 8 | + | |
- | </ | + | |
- | + | ||
- | ==== Practical solution | + | |
- | I got the above script from https://github.com/ | + | |
- | + | ||
- | A more practical approach is to clone that entire repository and add it to your PATH. | + | |
- | + | ||
- | I did it as follows. | + | |
- | + | ||
- | Remove the bare bones script we added in the previous step | + | |
- | < | + | |
- | % rm ~/ | + | |
- | </ | + | |
- | + | ||
- | Clone the repository | + | |
- | < | + | |
- | % mkdir -p ~/ | + | |
- | % cd ~/ | + | |
- | + | ||
- | % git clone git@github.com:jeroenjanssens/ | + | |
- | Cloning into ' | + | |
- | remote: Enumerating objects: 62, done. | + | |
- | remote: Counting objects: 100% (62/62), done. | + | |
- | remote: Compressing objects: 100% (52/52), done. | + | |
- | remote: Total 62 (delta 20), reused 48 (delta | + | |
- | Receiving objects: 100% (62/62), 18.59 KiB | 9.29 MiB/s, done. | + | |
- | Resolving deltas: 100% (20/20), done. | + | |
- | </ | + | |
- | + | ||
- | Update the PATH in ~/.bashrc by adding the following lines | + | |
- | < | + | |
- | # | + | |
- | # Add data science utils such as body, header | + | |
- | export PATH=~/ | + | |
- | # | + | |
- | </ | + | |
- | + | ||
- | Open a new bash session and verify that these utilities are correctly picked up. | + | |
- | < | + | |
- | % which body | + | |
- | / | + | |
- | + | ||
- | % which header | + | |
- | / | + | |
- | </ | + | |
- | + | ||
- | Verify that the utilities are working as expected. | + | |
- | < | + | |
- | % echo -e " | + | |
- | value | + | |
- | 2 | + | |
- | 3 | + | |
- | 6 | + | |
- | 8 | + | |
- | </ | + | |
- | + | ||
- | ==== Works with any command ==== | + | |
- | The beauty of this approach is that you can use it with any unix command (and not just sort). For example, you can grep a value and it will show the header along with the value. | + | |
- | < | + | |
- | % echo -e " | + | |
- | value | + | |
- | 8 | + | |
- | </ | + | |
- | ==== How I came across it ==== | ||
- | I came across it while reading the book "Data Science at the Command Line" (2nd Edition) by Jeroen Janssens (https:// |
task_boiler.txt · Last modified: 2024/01/23 22:55 by raju