Modem-manager-gui
모든 메시지를 *.gdbm
파일에 저장합니다. 파일을 삭제하면 sms.gdbm
메시지가 모두 삭제되는데 쉘 프로그램을 실행하여 받은 메시지와 보낸 메시지를 별도로 삭제하려고 합니다. 나는 노력했다 man gdbm
. 매뉴얼을 이해하지 못하는 것 같아요.
답변1
가장 쉬운 방법은 아마도 더 강력한 스크립팅 언어로 임시 도구를 작성하는 것입니다.
방금 Ruby로 하나 썼어요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"