SlideShare a Scribd company logo
1 of 98
Download to read offline
Mike Osolinski
@Fearless_Shultz
Edit
CLI Automation – Using the
Command Line to
automate repetitive tasks
https://www.slideshare.net/MikeOsolinski
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
What the command line
is and how it helps us to
work more efficiently
Basic examples of how
time and effort can be
saved by using CLI Scripts
Chaining multiple scripts /
modules together to create
automated solutions
What I’m Going to Talk About.
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@fearless_Shultz
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@fearless_Shultz
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
The Command
Line and how it
helps us work
more efficiently.
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
A command-line interface or command
language interpreter, allows a user to
issues commands in the form of successive
lines of text
@Fearless_Shultz #brightonSEO
What is the Command Line?
Command Prompt
http://bit.ly/windows-command-prompt
@Fearless_Shultz #brightonSEO
What is the Command Line?
Terminal
http://bit.ly/open-mac-terminal
@Fearless_Shultz #brightonSEO
What is the Command Line?
Bash
http://bit.ly/open-bash-linux
@Fearless_Shultz #brightonSEO
What is the Command Line?
Cygwin
http://bit.ly/open-bash-linux
@Fearless_Shultz #brightonSEO
What is the Command Line?
@Fearless_Shultz #brightonSEO
What is the Command Line?
@Fearless_Shultz #brightonSEO
What is the Command Line?
@Fearless_Shultz #brightonSEO
What is the Command Line?
@Fearless_Shultz #brightonSEO
What is the Command Line?
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Extremely powerful (in both good and bad
ways…)
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
“With great power comes great
responsibility….”
- Uncle Ben
@Fearless_Shultz #brightonSEO@Fearless_Shultz #brightonSEO
Quick and easy to write ad-hoc scripts
that would otherwise take much longer
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Take advantage of a huge library of pre-
built scripts.
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Chain different scripts and libraries
together to create fully automated
solutions.
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Save time on
repetitive tasks.
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Basic Examples Of
Using the
Command Line to
Save Time.
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
• Merging Files
• Optimising Images
• Extracting Data
• Running Lighthouse Reports
• Running Screaming Frog Reports
• Renaming Files
• Manipulating CSV Files
* I know, I know, bullet points kill Kittens
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
You Could . . .
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
Create a new
master file
Open each
individual csv
Select and
copy and
paste the data
Double check
everything has
been copied
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Or . . .
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
copy *.csv > merged.csv
cat *.csv > merged.csv
Windows
Linux / Mac
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
You Could . . .
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
Work through all files and
rename them
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Or . . .
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
for /f "Tokens=*" %f in ('dir /l/b/a-d') do (rename "%f" "%f")
for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done
Windows
Linux / Mac
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
You Could . . .
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
Download
images via FTP
Upload in
batches to an
image
processing
service
Tweak image
settings as
required
Download
optimised images
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Or . . .
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
jpegoptim –size 500k *.jpg
wget -i large-image-urls.txt
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
https://github.com/tjko/jpegoptim
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
You Could . . .
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
Create a
new SF Log
File project
Import log
file data
Filter out
Googlebot
User Agent
Export the
data to
Excel
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Or . . .
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
cat *.log | grep Googlebot >new-file.csv
Select-String -Path "C:a_ex190207.log" -Pattern
'Googlebot'
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
You Could . . .
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
Install Lighthouse
extension
Open each URL
in a Browser
Select options
and run
performance
test
Once each
report has
finished running,
save as a HTML
file
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Or . . .
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
urls.txt
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
test.bat
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
test.bat
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
• This does require some additional modules installing but it is generally very quick and
easy to get set up. Full instructions here https://edit.co.uk/blog/save-time-by-batch-
processing-lighthouse-audit-files-from-the-command-line/
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
You Could . . .
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
Open
Screaming
Frog
Set
Configuration
Options
Wait For
Crawl to Run
Select Filter
100 KB
Images
Export the
Report
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Or . . .
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Basic Command Line Examples
cd "C:Program Files (x86)Screaming Frog SEO Spider"
ScreamingFrogSEOSpiderCli.exe ^
--crawl https://edit.co.uk ^
--headless ^
--save-crawl ^
--config “C:image-crawl.seospiderconfig" ^
--output-folder “C:scriptsScreamingFrog" ^
--export-tabs "Images:Over X KB"
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Introducing PowerShell…
@Fearless_Shultz #brightonSEO
Introducing PowerShell
Scripting Panel
Command Line
cmdlet Library
PowerShell is a task-based command-line shell and scripting language built on .NET. PowerShell helps
system administrators and power-users rapidly automate tasks that manage operating systems (Linux,
macOS, and Windows) and processes
@Fearless_Shultz #brightonSEO
Introducing PowerShell - cmdlets
A cmdlet (pronounced "command-let") is a lightweight Windows PowerShell script that performs a
single function.
Import-CSV Invoke-RestMethodExport-CSV
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Import-Csv
The Import-CSV cmdlet turns a
CSV file into an object which
has properties which can easily
be referenced with filters
including:
-lt (Less than)
-gt (Greater than
-eq (Equal to)
-like (Like)
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Import-Csv
Import-Csv -Path 'C:BrightonSEOscriptscsv examplesinternal_html.csv'|
select Address, Status,'Title 1 Length'|
Where Address -like *services*|
where Status -eq 'OK'|
where 'Title 1 Length' -gt 55
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Import-Csv
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Export-Csv
$myData = Import-Csv -Path 'C:BrightonSEOscriptscsv examplesinternal_html.csv'|
select Address, Status,'Title 1 Length'|
Where Address -like *services*|
where Status -eq 'OK'|
where 'Title 1 Length' -gt 55
$myData | Export-CSv 'C:BrightonSEOscriptscsv examplesinternal_html-new.csv'
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Export-Csv
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Import-Csv
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
You Could . . .
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Import-Csv
Open redirect
report from SF
in Excel
Create filter to
find any rows
with a redirect
count of more
than one.
Create a new
column to
contain the
redirect
Use a
concatenation
formula to
prepend the
rule to the first
and last URLs
Remove all the
other columns
which aren’t
required and
save.
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Or . . .
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Import-Csv
$myObjectsArray = Import-Csv "C:powershell-scriptsredirect_and_canonical_chains.csv" |
Where { $_."Number of Redirects" -gt 1}
$newArray = @()
$myObjectsArray |
ForEach-Object{
$redirectType = "Redirect 301 "
$addressToRedirectFrom = $_.Address -replace
'^(?:https?://)?(?:[^@/n]+@)?(?:www.)?([^:/n]+)', ''
$addressToRedirectTo = $_.'Final Address'
$rewriteRule = $redirectType + $addressToRedirectFrom + ' ' + $addressToRedirectTo
$newArray += $rewriteRule
}
$newArray | Out-File "C:powershell-scriptstesting-export.csv"
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Invoke-RestMethod
Invoke-RestMethod consumes
REST APIs and parses the result
and where JSON is returned
the data is converted into a
PowerShell object that can be
easily queried.
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Invoke-RestMethod
$username = “user-name-here"
$password = “api-key-here"
$uri = "https://gtmetrix.com/api/0.1/test"
$testURL = "https://edit.co.uk"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}"
-f $username,$password)))
$testing = Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f
$base64AuthInfo)} `
-Method Post -Uri $uri -Body @{url="https://edit.co.uk"} `
$testID = $testing.test_id
$testURLWithID = $testing.poll_state_url
$testing
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Invoke-RestMethod
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Invoke-RestMethod
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Invoke-RestMethod
$fullData = Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f
$base64AuthInfo)} `
-Method GET -Uri $uri+$testURLWithID
$testScore = $fullData.resources.pagespeed.Length
$testDoMTime = $fullData.results.dom_content_loaded_time
$testFullyLoaded = $fullData.results.fully_loaded_time
'The test score is:'+ $testScore
'The DOM content loaded time is: ' +$testDoMTime
'The fully loaded time is: ' +$testFullyLoaded
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Invoke-RestMethod
@Fearless_Shultz #brightonSEO
Introducing PowerShell – Invoke-RestMethod
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Linking things together
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Generate Redirect Report and Create
Redirects.
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
What is the Command Line?
cd "C:Program Files (x86)Screaming Frog SEO Spider"
ScreamingFrogSEOSpiderCli.exe ^
--crawl https://edit.co.uk/ ^
--headless ^
--save-crawl ^
--config "C:redirect.seospiderconfig" ^
--output-folder "C:redirects" ^
--save-report "Redirect & Canonical Chains"
chaining-redirects.bat
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
What is the Command Line?
cd C:redirects
C:redirectschaining-redirects.bat
Get-Content C:redirectsredirect_and_canonical_chains.csv |
Select-Object -Skip 1 | Out-File C:redirectsredirects.csv
$myObjectsArray = Import-Csv "C:redirectsredirects.csv" |
Where { $_."Number of Redirects" -gt 1}
$newArray = @()
$myObjectsArray |
ForEach-Object{
$rType = "Redirect 301 "
$rFrom = $_.Address -replace
'^(?:https?://)?(?:[^@/n]+@)?(?:www.)?([^:/n]+)', ‘’
$rTo = $_.'Final Address'
$rewriteRule = $rType + $rFrom + ' ' + $rTo
$newArray += $rewriteRule}
$newArray | Out-File "C:redirectsredirect-rules.csv"
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Generate Lighthouse Reports.
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
What is the Command Line?
cd "C:Program Files (x86)Screaming Frog SEO Spider"
ScreamingFrogSEOSpiderCli.exe ^
--crawl https://edit.co.uk ^
--headless ^
--save-crawl ^
--config “C:image-crawl.seospiderconfig" ^
--output-folder “C:scriptsScreamingFrog" ^
--export-tabs “Internal:ALL"
Chaining-lighthouse.bat
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
What is the Command Line?
@echo off
cd C:scriptsChainingLighthouselighthouse-reports
for /f "delims=" %%a in
(C:scriptsChainingLighthousetest-urls.txt) DO (
ECHO Line is: %%a
lighthouse --quiet --chrome-flags="--headless" %%a
)
Test.bat
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
What is the Command Line?
cd C:lighthouse
Get-Content C:scriptsScreamingFroginternal_html.csv |
Select-Object -Skip 1 | Out-File C:lighthouseurls-to-test.csv
$myObjectsArray = Import-Csv "C:lighthouseurls-to-test.csv"
C:Lighthousechaining-lighthouse.bat
$newArray = @()
$myObjectsArray |
ForEach-Object{
$newArray += $_.Address
}
$newArray | Out-File "C:lighthousetest-urls.txt" -Encoding ascii
C:Lighthousetest.bat
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
This is just the tip of the iceberg
@Fearless_Shultz #brightonSEO
Confidential
@Fearless_Shultz #brightonSEO
Useful Resources
For Learning and
Working With CLI
Scripts.
@Fearless_Shultz #brightonSEO
CLI Scripting Resources
Title Link
A beginners guide to batch scripting in
Windows http://steve-jansen.github.io/guides/windows-batch-scripting/
Distilled Beginners guide to command line for
SEO https://www.distilled.net/blog/seo/the-beginners-guide-to-using-the-command-line-for-seo/
SEO Strategies to impress your boss https://elite-strategies.com/impress-seo-boss-linux-command-line-tricks/
Beginners guide to Terminal on Mac https://www.makeuseof.com/tag/beginners-guide-mac-terminal/
Tom Pool CLI Hacks presentation http://bit.ly/tom-pool-command-line-hacks-presentation
Tom Pool CLI Cheat Sheet http://bit.ly/command-line-cheat-sheet
Tom Pool Podcast http://bit.ly/tom-pool-presentation-podcast
64 Resources for learning to code online https://skillcrush.com/2016/03/15/64-online-resources-to-learn-to-code-for-free/
The 100 days of code project https://www.100daysofcode.com/
PowerShell download packages https://github.com/PowerShell/PowerShell
Beginners guide to PowerShell https://blog.netwrix.com/2018/02/21/windows-powershell-scripting-tutorial-for-beginners/
Guide to using Arrays in Poweshell https://4sysops.com/archives/arrays-in-powershell-create-change-read-sort-delete/
PowerShell Foreach-Object https://www.youtube.com/watch?v=BoutUXsBGcU
PowerShell out-File https://stackoverflow.com/questions/19450616/export-csv-exports-length-but-not-name
@Fearless_Shultz #brightonSEO
CLI Scripting Resources
Title Link
CSV kit for PowerShell https://searchenginewatch.com/2019/02/06/technical-seo-2019-statelessness/
Loop through files in directory in powershell
https://stackoverflow.com/questions/18847145/loop-through-files-in-a-directory-using-
powershell
Understanding invoke-rest method https://4sysops.com/archives/understanding-the-invoke-restmethod-powershell-cmdlet
Working With Csvs in PowerShell https://www.petri.com/powershell-import-csv-cmdlet-parse-comma-delimited-csv-text-file
Video example of connecting to REST Method https://www.youtube.com/watch?v=7mEmQgGowMY
PowerShell add-ons https://4sysops.com/archives/my-favorite-windows-powershell-ise-add-ons/
Powershell substrings
https://4sysops.com/archives/strings-in-powershell-replace-compare-concatenate-split-
substring/
Screaming Frog Command Scheduler
https://www.greenlanemarketing.com/blog/schedule-your-screaming-frog-crawls-with-
punctual-frog/
Screaming Frog Command Line
Documentation https://www.screamingfrog.co.uk/seo-spider/user-guide/general/#commandlineoptions
Running Screaming Frog CLI On a Server https://www.databulle.com/blog/seo/screaming-frog-headless.html
GTMetrix API https://gtmetrix.com/api/
Cygwin to run Linux and Mac commands on
Windows https://www.cygwin.com/
Huge searchable DB of REST Apis https://www.programmableweb.com/apis/directory
Regex to strip out domain from URL (For
Redirects) https://stackoverflow.com/questions/4791700/regex-needed-to-strip-out-domain-name
Content and sentiment analysis https://www.pveller.com/content-work-automation-with-text-analytics/
@Fearless_Shultz #brightonSEO
Closing Thoughts.
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Repetitive tasks are often PERFECT
candidates for automation
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
If a tool doesn’t already exist to perform a
task don’t assume you have to do things
the hard way. BUILD IT.
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Writing scripts is not as HARD as you might
imagine it to be.
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Remember the words of Uncle Ben and BE
CAREFULL!
@Fearless_Shultz #brightonSEO
Thank You.

More Related Content

What's hot

What's hot (20)

Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless DelaysBrighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
 
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptxBeth Barnham Schema Auditing BrightonSEO Slides.pptx
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
 
Probabilistic Thinking in SEO - BrightonSEO October 2022
Probabilistic Thinking in SEO - BrightonSEO October 2022Probabilistic Thinking in SEO - BrightonSEO October 2022
Probabilistic Thinking in SEO - BrightonSEO October 2022
 
The Ultimate Maturity Audit _ Brighton SEO.pdf
The Ultimate Maturity Audit _ Brighton SEO.pdfThe Ultimate Maturity Audit _ Brighton SEO.pdf
The Ultimate Maturity Audit _ Brighton SEO.pdf
 
BrightonSEO October 2022 - Log File Analysis - Steven van Vessum.pdf
BrightonSEO October 2022 - Log File Analysis - Steven van Vessum.pdfBrightonSEO October 2022 - Log File Analysis - Steven van Vessum.pdf
BrightonSEO October 2022 - Log File Analysis - Steven van Vessum.pdf
 
kevin Indig - Internal Link Building on Steroids (Tech SEO Boost )
kevin Indig - Internal Link Building on Steroids (Tech SEO Boost )kevin Indig - Internal Link Building on Steroids (Tech SEO Boost )
kevin Indig - Internal Link Building on Steroids (Tech SEO Boost )
 
Shining a light on the dark funnel
Shining a light on the dark funnelShining a light on the dark funnel
Shining a light on the dark funnel
 
Agile SEO: Prioritise SEO Activities with Cadence and Risk Radius
Agile SEO: Prioritise SEO Activities with Cadence and Risk RadiusAgile SEO: Prioritise SEO Activities with Cadence and Risk Radius
Agile SEO: Prioritise SEO Activities with Cadence and Risk Radius
 
BrightonSEO April 2023 Similar AI: Automation recipes for SEO success
BrightonSEO April 2023 Similar AI: Automation recipes for SEO successBrightonSEO April 2023 Similar AI: Automation recipes for SEO success
BrightonSEO April 2023 Similar AI: Automation recipes for SEO success
 
Can you trust AI with your content?
Can you trust AI with your content?Can you trust AI with your content?
Can you trust AI with your content?
 
Data Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina Stoy
Data Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina StoyData Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina Stoy
Data Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina Stoy
 
Why Scaling (Great) Content Is So Bloody Hard
Why Scaling (Great) Content Is So Bloody HardWhy Scaling (Great) Content Is So Bloody Hard
Why Scaling (Great) Content Is So Bloody Hard
 
How To Optimize SEO Landing Pages for Search Intent @ BrightonSEO Autumn 2021
How To Optimize SEO Landing Pages for Search Intent @ BrightonSEO Autumn 2021How To Optimize SEO Landing Pages for Search Intent @ BrightonSEO Autumn 2021
How To Optimize SEO Landing Pages for Search Intent @ BrightonSEO Autumn 2021
 
Swipe left: Why your content is getting ghosted
Swipe left: Why your content is getting ghostedSwipe left: Why your content is getting ghosted
Swipe left: Why your content is getting ghosted
 
Influencing Discovery, Indexing Strategies For Complex Websites
Influencing Discovery, Indexing Strategies For Complex WebsitesInfluencing Discovery, Indexing Strategies For Complex Websites
Influencing Discovery, Indexing Strategies For Complex Websites
 
The Hidden Gems of Low search volume
The Hidden Gems of Low search volumeThe Hidden Gems of Low search volume
The Hidden Gems of Low search volume
 
Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...
Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...
Machine Learning use cases for Technical SEO Automation Brighton SEO Patrick ...
 
Brighton SEO April 2022 - Automate the technical SEO stuff
Brighton SEO April 2022 - Automate the technical SEO stuffBrighton SEO April 2022 - Automate the technical SEO stuff
Brighton SEO April 2022 - Automate the technical SEO stuff
 
BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
BrightonSEO - Master Crawl Budget Optimization for Enterprise WebsitesBrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
 
What Makes your SEO Fail (and how to fix it) #BrightonSEO
What Makes your SEO Fail (and how to fix it) #BrightonSEO What Makes your SEO Fail (and how to fix it) #BrightonSEO
What Makes your SEO Fail (and how to fix it) #BrightonSEO
 

Similar to Command Line Automation for Repetitive Tasks

Shell programming 1.ppt
Shell programming  1.pptShell programming  1.ppt
Shell programming 1.ppt
Kalkey
 
Shell scripting _how_to_automate_command_l_-_jason_cannon
Shell scripting _how_to_automate_command_l_-_jason_cannonShell scripting _how_to_automate_command_l_-_jason_cannon
Shell scripting _how_to_automate_command_l_-_jason_cannon
Syed Altaf
 

Similar to Command Line Automation for Repetitive Tasks (20)

NYPHP March 2009 Presentation
NYPHP March 2009 PresentationNYPHP March 2009 Presentation
NYPHP March 2009 Presentation
 
Pass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalPass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft Professional
 
Unixscripting
UnixscriptingUnixscripting
Unixscripting
 
Unix shell scripting tutorial
Unix shell scripting tutorialUnix shell scripting tutorial
Unix shell scripting tutorial
 
Powershell notes
Powershell notesPowershell notes
Powershell notes
 
Project Automation
Project AutomationProject Automation
Project Automation
 
"The worst code I ever wrote"
"The worst code I ever wrote""The worst code I ever wrote"
"The worst code I ever wrote"
 
The Worst Code I Ever Wrote
The Worst Code I Ever WroteThe Worst Code I Ever Wrote
The Worst Code I Ever Wrote
 
Shell programming 1.ppt
Shell programming  1.pptShell programming  1.ppt
Shell programming 1.ppt
 
Get-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for EvilGet-Help: An intro to PowerShell and how to Use it for Evil
Get-Help: An intro to PowerShell and how to Use it for Evil
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scripting
 
Shell programming
Shell programmingShell programming
Shell programming
 
Shell scripting _how_to_automate_command_l_-_jason_cannon
Shell scripting _how_to_automate_command_l_-_jason_cannonShell scripting _how_to_automate_command_l_-_jason_cannon
Shell scripting _how_to_automate_command_l_-_jason_cannon
 
Fundamentals of programming angeli
Fundamentals of programming angeliFundamentals of programming angeli
Fundamentals of programming angeli
 
No-script PowerShell v2
No-script PowerShell v2No-script PowerShell v2
No-script PowerShell v2
 
Linux advanced privilege escalation
Linux advanced privilege escalationLinux advanced privilege escalation
Linux advanced privilege escalation
 
Docker and the Oracle Database
Docker and the Oracle DatabaseDocker and the Oracle Database
Docker and the Oracle Database
 
What should or not be programmed on the web
What should or not be programmed on the  webWhat should or not be programmed on the  web
What should or not be programmed on the web
 
The best unix shell scripting interview questions 2018 learn now!
The best unix shell scripting interview questions 2018   learn now!The best unix shell scripting interview questions 2018   learn now!
The best unix shell scripting interview questions 2018 learn now!
 
Password craking techniques
Password craking techniques Password craking techniques
Password craking techniques
 

Recently uploaded

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 

Command Line Automation for Repetitive Tasks