Труба из буфера обмена в подсистеме Linux для Windows
Использование подсистемы Linux для Windows (LSW), clip.exe
может быть использован для копирования данных в буфер обмена Windows:
$ clip.exe /?
CLIP
Description:
Redirects output of command line tools to the Windows clipboard.
This text output can then be pasted into other programs.
Parameter List:
/? Displays this help message.
Examples:
DIR | CLIP Places a copy of the current directory
listing into the Windows clipboard.
CLIP < README.TXT Places a copy of the text from readme.txt
on to the Windows clipboard.
Есть ли какой-нибудь способ передать из буфера обмена? Примеры использования по назначению:
$ paste.exe > foo.txt
$ paste.exe | tr , '\n' | clip.exe
2 ответа
Решение
Это печатает буфер обмена Windows на стандартный вывод:
powershell.exe Get-Clipboard
Примеры
$ echo "hello" | clip.exe
$ powershell.exe Get-Clipboard
hello
$ date +%Y-%m-%d | clip.exe
$ powershell.exe Get-Clipboard
2019-06-13
$ alias paste.exe='powershell.exe Get-Clipboard'
$ echo "world" | clip.exe
$ paste.exe
world
источник: https://github.com/Microsoft/WSL/issues/1069
кличка
Вот полезный псевдоним @Gordan Bean, который удаляет \r\n
:
alias paste.exe="powershell.exe Get-Clipboard | perl -p -e 's/\r\n$//'"
Еще один вариант ответов, размещенных здесь:
pwsh.exe -noprofile -команда Get-Clipboard | sed s/.$//g