GNU/Linux >> Znalost Linux >  >> Linux

echo řetězec | xclip -selection schránka , zkopíruje 'řetězec', ale také do něj přidá nový řádek. jak to opravit?

echo -n "string" | xclip -selection clipboard

Asi jsem to měl trochu upřesnit. Výchozí hodnota pro echo je výstup řetězce AND nového řádku. -n to druhé potlačuje.


Obecnějším řešením je ignorovat nové řádky bez ohledu na vstupní zdroj. Běžným případem použití je například zkopírování cesty k aktuálnímu adresáři do schránky. Příkaz

pwd | xclip -selection clipboard

zkopíruje znak nového řádku a to často není to, co chceme. řešení je následující:

pwd | xargs echo -n | xclip -selection clipboard

Můžete si vytvořit alias, aby to bylo pohodlnější:

alias xclip='xargs echo -n | xclip -selection clipboard'

a od této chvíle používat:

pwd | xclip # copied without new line
echo "foo" | xclip # copied without new line

Od verze 0.13 xclip máte obecný způsob, který zachová vnitřní nové řádky s možností r nebo rmlastnl .

Takže budete mít:

pwd | xclip -r # copied without new line
echo "foo" | xclip -r # copied without new line
ps | xclip -r # copied without the last new line!

Linux
  1. Jak vidět, že se přesný příkazový řádek spouští uvnitř některé instance Bash?

  2. Jak opravit nové chování posuvníku ve Firefoxu?

  3. Jak mohu naformátovat svůj výstup grep tak, aby zobrazoval čísla řádků na konci řádku a také počet zásahů?

  1. Jak mohu v prostředí Linux zpracovat každý řádek víceřádkového řetězce?

  2. Jak mohu přidat řetězec na začátek každého řádku v souboru?

  3. echo text s novým řádkem v bash

  1. Jak vložit nový řádek do skriptu prostředí Linux?

  2. Ampersand na začátku řádku v csh

  3. Jak získám svou IP adresu z příkazového řádku?