73 lines
No EOL
1.2 KiB
Bash
73 lines
No EOL
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
FILE_TRASH="/dev/null"
|
|
DB_PATH="./data/"
|
|
|
|
# errors :
|
|
# 1 file do not exist
|
|
# 2 entry do not exist
|
|
#
|
|
# ok :
|
|
# 0 entry exist
|
|
function check_in_db {
|
|
|
|
local db_name="${1}"
|
|
local search_id="${2}"
|
|
|
|
[ -f "${DB_PATH}${db_name}.db" ] || return 1
|
|
cat "${DB_PATH}${db_name}.db" | \
|
|
grep -E "^${search_id}" > "${FILE_TRASH}" || return 2
|
|
return 0
|
|
}
|
|
|
|
function add_in_db {
|
|
|
|
local db_name="${1}"
|
|
shift 1
|
|
|
|
local IFS=";"
|
|
echo "$*" >> ${DB_PATH}${db_name}.db
|
|
return 0
|
|
|
|
}
|
|
|
|
function delete_in_db {
|
|
|
|
local db_name="${1}"
|
|
local id="${2}"
|
|
|
|
[ "$(uname)" == "Darwin" ] \
|
|
&& sed "/^${id}/d" "${DB_PATH}${db_name}.db" -i '' \
|
|
|| sed "/^${id}/d" "${DB_PATH}${db_name}.db" -i
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
# errors :
|
|
# 0 file do not exist
|
|
#
|
|
# ok :
|
|
# [1-500] entry count
|
|
function count_in_db {
|
|
|
|
local db_name="${1}"
|
|
local id="${2}"
|
|
|
|
[ -f "${DB_PATH}${db_name}.db" ] || return 0
|
|
count=$(cat "${DB_PATH}${db_name}.db" | grep "${id}" | wc -l | sed -e 's/ //g')
|
|
|
|
return "${count}"
|
|
|
|
}
|
|
|
|
function get_from_db {
|
|
local db_name="${1}"
|
|
local id="${2}"
|
|
|
|
[ -f "${DB_PATH}${db_name}.db" ] || return 0
|
|
|
|
cat "${DB_PATH}${db_name}.db" | grep "${id}"
|
|
return "$?"
|
|
|
|
} |