Карта читая/пишущий файл в то, чтобы быть произведенным от входа до сценария?

Я не использую Рыба , но документация говорит, что вы можете ввести символ Unicode, префиксировав свой шестнадцатеричный код символа с \ U (для 16-битных символов) или \ U (для 32-битных символов). Я думаю, что код для 491EB , поэтому вы можете сделать:

mv \U000491ebabc.mp3 abc.mp3

для переименования ♫ abc.mp3 .

Обратите внимание, что вам нужны ведущие нули, в противном случае ABC в конце будет рассматриваться как шестнадцатеричные цифры, а также часть кода символов; Для 32-разрядного персонажа необходимо ввести 8 цифр.

1
29.11.2014, 20:05
2 ответа

Эта функция оболочки будет делать то, что вы спрашиваете:

vim() { bash script1.sh <"$1" >"$1.hide~"; /usr/bin/vim "$1.hide~"; bash script2.sh <"$1.hide~"; }

Используйте эту функцию следующим образом:

vim file

Разбивайте его на куски:

  • Bash Script1.sh <«$ 1»> 1. Хейд ~ "

    $ 1 - это первый аргумент, который вы поставляете в сценарий, который должен быть именем файла. Это работает Script1.sh с этим файлом на его stdin и записывает вывод во временный файл.

  • / USR / BIN / VIM "$ 1. HIDE ~"

    Это запускается реальным VIM на выходе Script1.sh .

    Это предполагает, что редактор VIM в вашей системе находится в / usr / bin . Если он находится где-то еще, настройте определение функции соответствующим образом.

  • Bash Script2.sh <«$ 1.hide ~»

    Это обеспечивает отредактированный файл в виде STDIN для Script2.SH .

Чтобы сделать это определение функции постоянно, поместите его в качестве отдельной строки в вашем файле ~ / .bashrc .

0
28.01.2020, 01:48

Инструментом для этого задания является FUSE (FUSE означает Filesystem in USErspace). FUSE позволяет реализовать файловую систему с помощью пользовательской программы. Если вы запускаете vim файл и файл находится на файловой системе FUSE, то программа, предоставляющая файловую систему, сгенерирует содержимое файла, когда Vim считывает из него, и сохранит (или не сохранит!) содержимое, когда Vim сохранит файл.

FUSE более сложна, чем то, что вы просите. Программа, предоставляющая файловую систему, управляет не только содержимым файла, но и структурой каталогов, правами доступа и т.д. Ей также необходимо управлять чтением и записью части каждого файла, если только вы не сделаете файлы недоступными для просмотра (что ограничит программы, которые могут работать над ними).

Я не знаю ни одного проекта, построенного на FUSE для предоставления простого интерфейса для манипулирования содержимым файлов, обеспечивая при этом классическую структуру каталогов. Есть примеры файловых систем, из которых можно скопировать код.

0
28.01.2020, 01:48

Теги

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