Last active
August 8, 2021 10:25
-
-
Save marcelmaatkamp/509a8cd5dbcfde7083820e03124d2ed8 to your computer and use it in GitHub Desktop.
put size, shasum and filename in sqlite
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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