Я хочу создать каталог со своими примечаниями из Evernote в файлах с форматом Скидки с цены. Я узнал, что это может быть сделано с помощью Geeknote, но для каждого ноутбука каждый раз.
Как создать сценарий удара, который синхронизирует каталог, где каждый подкаталог является различным ноутбуком, и в них файлы скидки с цены?
В то время как Вы делаете предложения, я буду держать этот вопрос в курсе.
Команда к двухстороннему использованию синхронизации Geeknote следующая:
gnsync --path ~/Evernote/Ler --logpath ~/.log/geeknote.log --format markdown --notebook ".Ler" --two-way TWO_WAY
Команда для списка моих ноутбуков:
geeknote notebook-list
@RichardAnderson предложил, чтобы следующий код перечислил и циклично выполнился в ноутбуки Evernote, я протестировал в своей системе, и это работает. Проблема состоит в том, что geeknote команда списка ноутбука ожидает пользовательского действия во время списка, я также не мог найти способ обойти это.
Просто создайте файл со следующим содержанием:
#!/bin/bash
geeknote notebook-list > /tmp/list.txt
Note_List=$(cat /tmp/list.txt | grep -v Total | cut -d : -f 2)
for i in $Note_List; do
gnsync --path ~/evernote --logpath ~/.log/geeknote.log --format markdownn --notebook "$i" --two-way TWO_WAY
done
Не забывайте изменяться на свой путь.
ВНИМАНИЕ! Если у Вас есть изображения или в большой степени отформатированные примечания в Вашей учетной записи Evernote, обратите внимание на то, что этот метод может потенциально удалить форматирование и данные в рамках примечаний. Так используют на Ваш собственный риск!
Если Вы знаете способ обойти потребность в пользовательском действии во время geeknote команды списка примечания, напишите ниже.
Я пошел для решения для удара:
function sync_notebook {
gnsync --path ~/Evernote/$1 --logpath ~/.log/geeknote$1.log --format markdown --notebook "$1" --two-way TWO_WAY
}
function sync_all {
for D in *; do sync_notebook $D; done
}
я добавил их к моему .bashrc
.
первой является просто обертка к gnsync
. Это берет отдельный аргумент, название ноутбука. Вторым является цикл удара по всем папкам в каталоге. Названия папок соответствуют названиям ноутбуков в Evernote.
Все еще не изобразили, как не уничтожить pdfs в синхронизации.
Я искал то же самое. Это - то, что я придумал.
#!/bin/bash
geeknote notebook-list > /tmp/list.txt
Note_List=$(cat /tmp/list.txt | grep -v Total | cut -d : -f 2)
for i in $Note_List; do
gnsync --path ~/evernote --logpath ~/.log/geeknote.log --format markdown --notebook "$i" --two-way TWO_WAY
done
необходимо будет, вероятно, нажать Enter несколько раз после запуска. Я не уверен, как рассматривать geeknote команду списка ноутбука для избавления от необходимости то, что она имела необходимость нажать Enter.
Я не знаю, как обойти потребность взаимодействовать, но я знаю, как автоматизировать ее: expect
. Можно установить его с apt-get
. Вот мой ожидать сценарий, который добился цели для меня:
#!/usr/bin/expect -f
spawn geeknote "notebook-list"
expect "More"
sleep 2
send "j"
interact
Затем можно использовать это вместо geeknote notebook-list
:
./geeknote-expect-script > /tmp/list.txt