Команды SFK


    1        2        3        4        5        6        7        8        9        10    

Раздел 9. Diverse - Разное
ascii | ascii -dos | calc | cmd | data | env | fromclip | jsonform | license | number | prompt | random | ruler | spell | status | toclip | update | version | video | view | xmlform |


Help:   Рус   |   Eng        Refer:   Рус   |   Eng  

Команда: toclip

Получение текста из буфера обмена Windows или помещение текста в буфер обмена

sfk toclip Скопировать stdin в буфер обмена в виде обычного текста

type test.txt | sfk toclip копирует содержимое ASCII-файла test.txt в буфер обмена

sfk list | sfk toclip Копирует список файлов текущего каталога в буфер обмена

sfk fromclip [-wait] [-clear] Вывод текстового содержимого из буфера обмена в терминал

  • -wait: -: блокировать до тех пор, пока не будет доступен обычный текст
  • -clear: - очистить буфер обмена после прочтения

    Пример: превратить обратную косую черту в прямую

    Представьте, что в блокноте открыт следующий текст:

    foo/bar/systems/alpha1.cpp
    foo/bar/systems/alpha2.cpp
    foo/bar/systems/beta1.cpp
    

    И вам почему-то нужна первая строка в таком формате:

    foo\bar\systems\alpha1.cpp

    Тогда вы можете сделать это следующим образом:

  • 1. Выделите первую строку с помощью клавиш SHIFT+CURSOR
  • 2. Нажмите CTRL+C или CTRL+INSERT, чтобы скопировать его в буфер обмена
  • 3. В командной строке Windows выполните следующую команду (например, из пакета):

    sfk fromclip +filter -rep x/x\x +toclip

  • 4. Вернувшись в редактор, нажмите CTRL+V или SHIFT+INSERT для вставки результата из буфера обмена.
    Как видите, строка изменилась на "foo\bar\systems\alpha1.cpp".

    Пример: переформатировать строку электронной таблицы для дальнейшей обработки.

    Представьте, что у вас открыт следующий файл Excel: и вам нужны данные из строки 3 в виде значений, разделенных запятыми.

    Теперь, если вы щелкнете влево в строке 3: и нажмете CTRL+C, строка будет скопирована в буфер обмена, однако как разделенные табуляцией данные. По крайней мере, такое поведение наблюдается в Excel, другие пакеты, такие как OpenOffice, могут вести себя по-другому

    Поэтому, если вы скажете в командной строке:

    sfk fromclip Что вы получаете, так это:

    Foo Finance 4498542 1999 950 Dino

    Как превратить это в значения, разделенные запятыми ? У нас есть 5 столбцов, поэтому расширьте приведенную выше команду следующим образом [введите все в ОДНОЙ строке]:

    sfk fromclip +filter -spat -sep "\t" -form "$col1;$col2;$col3;$col4;$col5"

    В результате будет получен следующий результат:

    Foo Finance;4498542;1999;950;Dino

    Чтобы сделать данные еще более безопасными для последующей обработки, мы можем окружить каждое значение в кавычках таким образом :

    sfk fromclip +filter -spat -sep "\t" -form "\"$col1\";\"$col2\";\"$col3\";\"$col4\";\"$col5\""

    Это, конечно, трудно напечатать, но если вы поместите его в bat-файл, то вам нужно ввести его только один раз. В результате:

    "Foo Finance";"4498542";"1999";"950";"Dino"

    Как всегда, один и тот же результат может быть достигнут разными способами.
    Например, вы также можете сохранить все данные электронной таблицы в виде файла, разделенного запятыми, а затем отфильтровать его по

    sfk filter export.csv "-+Foo Finance"
    который должен создать такую же строку