Как автоматически копировать резервную копию файла, отредактированного

Если вы не хотите запоминать правильное заклинание для convert, вы можете использовать pdf-redact-tools, сценарий оболочки, автоматизирующий процесс взрыва PDF-файла в изображения PNG и слияние их обратно после редактирования (с использованием инструмент по вашему выбору, например, gimp). Это непринужденно apt-install installable.

0
задан 3 October 2017 в 16:53

4 ответа

Это зависит от того, какой редактор вы используете:

nano имеет возможность автоматического резервного копирования файлов при их сохранении, которые могут находиться в том же или альтернативном каталоге. gedit имеет возможность [не сохранять] резервный файл vim, очевидно, также

. Лучше всего определить, какой редактор вы хотите использовать, и исследовать документацию этого редактора, чтобы определить, как и где он будет делать резервные копии файлов, которые вы редактируете.

1
ответ дан 18 July 2018 в 05:49

Если ваш редактор не предоставляет возможность для этого, вы можете написать такую ​​функцию:

kate~(){ cp "${!#}" "${!#}~" && kate $@ ;}

Вы можете сделать это для каждого редактора, это просто принимает последний аргумент (${!#} ), который всегда должен быть именем файла, делает его копию и запускает редактор (kate) всей цепочкой аргументов ($@). Эта примерная функция вызывается с помощью kate~ [OPTIONS] [FILE]. Такие функции лучше всего сохраняются в файле ~/.bash_aliases, поэтому они эффективны для каждого нового открытого терминала.

Чтобы проверить конкретный каталог, например /etc/, вы можете сделать, например,

kate~(){ [[ "${!#}" =~ /etc/ ]] && cp "${!#}" "${!#}~" ; kate $@ ;}

Таким образом, файл резервной копии будет создан только в том случае, если файл для открытия находится под /etc/.

0
ответ дан 18 July 2018 в 05:49

Это зависит от того, какой редактор вы используете:

nano имеет возможность автоматического резервного копирования файлов при их сохранении, которые могут находиться в том же или альтернативном каталоге. gedit имеет возможность [не сохранять] резервный файл vim, очевидно, также

. Лучше всего определить, какой редактор вы хотите использовать, и исследовать документацию этого редактора, чтобы определить, как и где он будет делать резервные копии файлов, которые вы редактируете.

1
ответ дан 24 July 2018 в 18:27

Если ваш редактор не предоставляет возможность для этого, вы можете написать такую ​​функцию:

kate~(){ cp "${!#}" "${!#}~" && kate $@ ;}

Вы можете сделать это для каждого редактора, это просто принимает последний аргумент (${!#} ), который всегда должен быть именем файла, делает его копию и запускает редактор (kate) всей цепочкой аргументов ($@). Эта примерная функция вызывается с помощью kate~ [OPTIONS] [FILE]. Такие функции лучше всего сохраняются в файле ~/.bash_aliases, поэтому они эффективны для каждого нового открытого терминала.

Чтобы проверить конкретный каталог, например /etc/, вы можете сделать, например,

kate~(){ [[ "${!#}" =~ /etc/ ]] && cp "${!#}" "${!#}~" ; kate $@ ;}

Таким образом, файл резервной копии будет создан только в том случае, если файл для открытия находится под /etc/.

0
ответ дан 24 July 2018 в 18:27
  • 1
    Итак, в вашем примере «kate» - это просто какое-то произвольное имя функции и имя файла в этом скрипте в папке ~ / .bash_aliases? Так что, если я хочу перегрузить vim, я должен все это сделать, но вместо замены Кейт с vim? – EE1337 5 October 2017 в 09:57
  • 2
    Нет, kate~ - имя произвольной функции, а kate - команда редактора. Таким образом, вы могли бы сделать arbitrary_function_name(){…; vim $@ ;} – dessert 5 October 2017 в 10:01

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

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