Skip to content

Instantly share code, notes, and snippets.

@marcelmaatkamp
Last active August 8, 2021 10:25
Show Gist options
  • Save marcelmaatkamp/509a8cd5dbcfde7083820e03124d2ed8 to your computer and use it in GitHub Desktop.
Save marcelmaatkamp/509a8cd5dbcfde7083820e03124d2ed8 to your computer and use it in GitHub Desktop.
put size, shasum and filename in sqlite
#!/bin/bash
sqlite3 files.db 'CREATE TABLE files( id INTEGER PRIMARY KEY AUTOINCREMENT, sum TEXT NOT NULL, size INT NOT NULL, date DATE NOT NULL, directory TEXT NOT NULL, filename TEXT NOT NULL, extension TEXT NOT NULL);'
id=0
find . -type f | while read file; do
IFS=$'\n'
sum=$(sha256sum $file | awk '{print $1}')
stat=$(stat -c %y,%s $file)
date=$(echo $stat | awk -F"," '{ print $1 }')
size=$(echo $stat | awk -F"," '{ print $2 }')
filename=${file/.\//}
dirname=$(dirname ${filename})
basename=$(basename ${filename})
extension=$([[ "$basename" = *.* ]] && echo "${basename##*.}" || echo '')
echo "${id}|${sum}|${size}|${date}|${dirname}|${basename/,/_}|${extension}" >> files.csv
let id=id+1
done
sqlite3 files.db -separator '|' '.import files.csv files'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment