name="$(meta_name "$file")"
if [ -d "${meta%/meta}" ] && LOCK "$meta"; then
- grep -vF " ${name}" "$meta" >"$meta.tmp"
+ grep -avF " ${name}" "$meta" >"$meta.tmp"
meta_line "$file" \
| tee -a "$meta.tmp"
mv "$meta.tmp" "$meta"
fi
}
+meta_purge(){
+ local file meta name
+ file="$1"
+ meta="${file%/*}/.index/meta"
+ name="$(meta_name "$file")"
+
+ if [ -d "${meta%/meta}" ] && LOCK "$meta"; then
+ grep -avF " ${name}" "$meta" >"$meta.tmp"
+ grep -aF " ${name}" "$meta" >>"$meta.trash"
+ mv "$meta.tmp" "$meta"
+ RELEASE "$meta"
+ fi
+}
+
meta_info(){
local file meta
file="$1"
meta="${file%/*}/.index/meta"
if [ -d "${meta%/meta}" ]; then
- grep -m1 -F " $(meta_name "$file")" "$meta" \
- | grep -xE '[0-9]+ [0-9]+ [0-9]+ tags=[^ ]* comment=[^ ]* .+' \
+ grep -aF " $(meta_name "$file")" "$meta" \
+ | grep -m1 -xE '[0-9]+ [0-9]+ [0-9]+ tags=[^ ]* comment=[^ ]* .+' \
|| meta_file "$file"
else
printf '0\t0\t0\ttags=\tcomment=\t\r'