uuid: - value: 33bea7ca-ccf4-4865-bc17-314ce54b6988 langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:08+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: 'Bash scripting for fun (and profit?)' created: - value: '2024-08-19T00:00:00+00:00' changed: - value: '2025-05-11T09:00:08+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2024/08/19/bash-scripting-for-fun-and-profit langcode: en body: - value: |

As well as PHP, JavaScript, HTML, CSS, etc, I write a lot of Bash scripts.

From project-specific run files to CI pipelines, Dockerfiles and deployment scripts, Bash is used a lot in the ops side of software development.

Today, though, I wrote a small Bash script for my personal laptop.

I store an archive of video files on an external hard drive of conference talks, courses, tutorials or live streams that I want to keep or rewatch, and found that I've sometimes downloaded the same videos more than once, with the same files on my laptop and hard drive.

A few days ago, I was watching a video that I thought I'd save, but wasn't sure if I already had, so this script dumps the contents of my hard drive into a JSON file that I can easily browse or search through to see if I already have a video archived.

The script is fairly simple and uses tree and jq to display and format the data before saving it to a file on my laptop.

When I need to update the file, I plug in the hard drive and run it again.

A simple problem, and not something related to a particular project, but something I was able to solve with a Bash script.

format: full_html processed: |

As well as PHP, JavaScript, HTML, CSS, etc, I write a lot of Bash scripts.

From project-specific run files to CI pipelines, Dockerfiles and deployment scripts, Bash is used a lot in the ops side of software development.

Today, though, I wrote a small Bash script for my personal laptop.

I store an archive of video files on an external hard drive of conference talks, courses, tutorials or live streams that I want to keep or rewatch, and found that I've sometimes downloaded the same videos more than once, with the same files on my laptop and hard drive.

A few days ago, I was watching a video that I thought I'd save, but wasn't sure if I already had, so this script dumps the contents of my hard drive into a JSON file that I can easily browse or search through to see if I already have a video archived.

The script is fairly simple and uses tree and jq to display and format the data before saving it to a file on my laptop.

When I need to update the file, I plug in the hard drive and run it again.

A simple problem, and not something related to a particular project, but something I was able to solve with a Bash script.

summary: null field_daily_email_cta: { }