$ cat 0.out
all
all-inspiring
ask
could
did
er
for
high
jump
jumped
jumping
land
leap
oh
rabbit
rabbits
sat
saw
sight
so
that
the
then
there
they
we
were
what
% ./db.bash all.db data0 0.out
% echo '.d' | sqlite3 all.db
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE data0 (id integer,word text, primary key(id));
INSERT INTO data0 VALUES(1,'all');
INSERT INTO data0 VALUES(2,'all-inspiring');
INSERT INTO data0 VALUES(3,'ask');
INSERT INTO data0 VALUES(4,'could');
INSERT INTO data0 VALUES(5,'did');
INSERT INTO data0 VALUES(6,'er');
INSERT INTO data0 VALUES(7,'for');
INSERT INTO data0 VALUES(8,'high');
INSERT INTO data0 VALUES(9,'jump');
INSERT INTO data0 VALUES(10,'jumped');
INSERT INTO data0 VALUES(11,'jumping');
INSERT INTO data0 VALUES(12,'land');
INSERT INTO data0 VALUES(13,'leap');
INSERT INTO data0 VALUES(14,'oh');
INSERT INTO data0 VALUES(15,'rabbit');
INSERT INTO data0 VALUES(16,'rabbits');
INSERT INTO data0 VALUES(17,'sat');
INSERT INTO data0 VALUES(18,'saw');
INSERT INTO data0 VALUES(19,'sight');
INSERT INTO data0 VALUES(20,'so');
INSERT INTO data0 VALUES(21,'that');
INSERT INTO data0 VALUES(22,'the');
INSERT INTO data0 VALUES(23,'then');
INSERT INTO data0 VALUES(24,'there');
INSERT INTO data0 VALUES(25,'they');
INSERT INTO data0 VALUES(26,'we');
INSERT INTO data0 VALUES(27,'were');
INSERT INTO data0 VALUES(28,'what');
COMMIT;
Your script should expect exactly three arguments: 1) the name of the database file 2) the table in the database and 3) the name of the wordlist file.
You can use any of Bash built-in features (echo, array variables, and so forth) to do this.
The difficult part of this assignment is the quoting necessary to insert items into the database; dealing with SQLITE's quoting conventions is quite a challenge from a Bash script.
This assignment is due by the beginning of class on Friday, April 12 Monday, April 15.
Your programs should be able to produce identical output for the sample
files, and should be able to handle similar text files in addition
to the provided samples. Please leave a copy of db.bash on cop3353.org so
that I can test it.