Modem-manager-gui
すべてのメッセージを*.gdbm
ファイルに保存します。ファイルを削除するとsms.gdbm
メッセージはすべて削除され、シェルプログラムを実行して受信したメッセージと送信されたメッセージを別々に削除しようとします。私は努力したman gdbm
。マニュアルを理解していないようです。
答え1
最も簡単な方法は、おそらくより強力なスクリプト言語で一時的なツールを書くことです。
私はRubyで1つ書きました。GDBM(エラー処理なし):
#!/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"