Echo "string" | xclip -selection буфер обмена, копирует строку, но также добавляет к ней новую строку. как это исправить?
это команда, ответственная за добавление новой строки в string
echo "string" | xclip -selection clipboard
Ответ 1
echo -n "string" | xclip -selection clipboard
Я, вероятно, должен был немного разобраться. По умолчанию для эхо выводится строка И новая строка. -n подавляет последнее.
Ответ 2
Более общее решение - игнорировать новые строки независимо от источника ввода. Например, общий вариант использования - скопировать в буфер обмена путь к текущему каталогу. Команда
pwd | xclip -selection clipboard
копирует новый символ строки, и это часто не то, что мы хотим.
решение:
pwd | xargs echo -n | xclip -selection clipboard
Вы можете создать псевдоним, чтобы сделать его более удобным:
alias xclip='xargs echo -n | xclip -selection clipboard'
и теперь использовать:
pwd | xclip # copied without new line
echo "foo" | xclip # copied without new line
Ответ 3
Начиная с версии 0.13 xclip, у вас есть универсальный способ сохранения внутренних новых строк с параметром r или rmlastnl.
Таким образом, вы будете иметь:
pwd | xclip -r # copied without new line
echo "foo" | xclip -r # copied without new line
ps | xclip -r # copied without the last new line!