Существуют ли программы или команды CLI для управления файлами * .gdbm

Modem-manager-gui сохраняет все сообщения в файле *.gdbm . Удаление файла sms.gdbm удаляет все сообщения, но я пытаюсь сделать программу оболочки для удаления полученных и отправленных отдельно. Я попробовал man gdbm . Я не думаю, что смогу понять руководство.

Самый простой способ – это, вероятно, написать импровизированный инструмент на более мощном языке сценариев.

Я только что написал один в GDBM Ruby (без обработки ошибок):

 #!/usr/bin/ruby require 'gdbm' dbfile, op, key, val, = ARGV GDBM.open(dbfile) do |db| case op when "set" db[key] = val when "get" puts db[key] when "rm" db.delete(key) else db.each do |k, v| puts "#{k.inspect} = #{v.inspect}" end end end 

Сохраните этот скрипт как gdbmtool . Вы можете манипулировать любыми значениями ключа в gdbm следующим образом:

 $ chmod +x gdbmtool $ ./gdbmtool database.gdbm set abc def $ ./gdbmtool database.gdbm set 123 456 $ ./gdbmtool database.gdbm get abc def $ ./gdbmtool database.gdbm "abc" = "def" "123" = "456" $ ./gdbmtool database.gdbm rm abc $ ./gdbmtool database.gdbm "123" = "456"