Можно ли запустить операцию SQLite из терминала?

3

Когда я загружаю транзакции в Quicken Essentials для Mac, мой банк добавляет «ЗАКУПКУ ДЕБИТА» и другую нежелательную информацию к информации о получателе.

Quicken не имеет возможности найти и заменить глобально.

Но я покопался в файле данных Quicken и оказалось, что все транзакции хранятся в файле SQLite.

Я смог открыть этот файл с Liya и затем выполните запрос, например,

UPDATE ZFIPAYEE SET ZNAME = replace(ZNAME,'DEBIT PURCHASE - ','');

который очистил мои транзакции.

Есть ли какой-нибудь способ, которым я могу выполнить этот вид запроса непосредственно из терминала, не открывая Лию и затем открывая файл?

Ze'ev
источник

Ответы:

7

Да. Вы можете использовать /usr/bin/sqlite3 инструмент командной строки для изменения базы данных. По умолчанию он поставляется с OS X, поэтому вам не нужно ничего делать, кроме как открыть окно терминала и запустить:

cd path/to/quicken/storage/directory
sqlite3 <quicken database file>

SQLite version 3.7.13 2012-07-17 17:46:21
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> UPDATE ZFIPAYEE SET ZNAME = replace(ZNAME,'DEBIT PURCHASE - ','');
sqlite> .quit

Вы можете сделать все это из одной командной строки следующим образом:

sqlite3 <quicken database file> 'UPDATE ZFIPAYEE SET ZNAME = replace(ZNAME,\'DEBIT PURCHASE - \',\'\');'

Это откроет, изменит и закроет файл базы данных и вернет приглашение.

Для получения дополнительной информации об использовании командной строки SQLite смотрите: http://www.sqlite.org/sqlite.html

Ian C.
источник
Потрясающие! Теперь ... есть ли способ replace с подстановочными знаками? Я также хочу удалить все CHECKCARD 1215 ссылки, где 1215 дата, которая постоянно меняется Есть ли replace есть функция подстановки?
Ze'ev
... или, может быть, я мог бы просто "обрезать" первые 14 символов, где like "CHECKCARD ____%" ?
Ze'ev
SQLite поддерживает практически всю гамму запросов SQL, так что да, вы можете использовать подстановочные знаки с replace, Вы рискуете перейти к теме, которая немного выходит за рамки для Ask Different, потому что она не относится к Apple. Это на самом деле вопрос программирования.
Ian C.
Какой сайт StackExchange вы предлагаете? Я гугл подстановочные знаки для replace и не придумал ничего легкого.
Ze'ev
1
stackoverflow.com - не цитируйте меня подстановочные знаки и replace хоть. Я далек от эксперта по SQL.
Ian C.