Как создать сценарий для синхронизации примечаний к использованию файлов Geeknote

Проблема

Я хочу создать каталог со своими примечаниями из 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 команды списка примечания, напишите ниже.

1
задан 12 January 2015 в 23:38

3 ответа

Я пошел для решения для удара:

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 в синхронизации.

0
ответ дан 10 November 2019 в 10:58

Я искал то же самое. Это - то, что я придумал.

#!/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.

1
ответ дан 10 November 2019 в 10:58

Я не знаю, как обойти потребность взаимодействовать, но я знаю, как автоматизировать ее: 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
1
ответ дан 10 November 2019 в 10:58

Другие вопросы по тегам:

Похожие вопросы: