Sto usando sedda un po 'di tempo ma ecco una stranezza con cui sono venuto in mente, che non sono in grado di risolvere.
Lasciami spiegare il mio problema con il caso reale.
Scena 1
printf "ls" | xclip -selection clipboard
echo "ls" | xclip -selection clipboard
Nel primo comando, installo l' printfoutput in xclipmodo che venga copiato negli Appunti. Ora, printfdiversamente da echonon inserire una nuova riga alla fine per impostazione predefinita. Quindi, se incollo questo contenuto nel terminale, il lscomando che viene copiato non viene eseguito automaticamente.
Nel secondo, c'è una nuova riga alla fine, quindi incollare il contenuto degli appunti comporta anche l'esecuzione del comando negli appunti.
Questo non è desiderabile per me. Quindi, volevo rimuovere la nuova riga usando sed, ma non è riuscita, come spiegato nella scena qui sotto.
Scene # 2
echo "ls" | sed -r 's/\n//g' | xclip -selection clipboard
Il contenuto negli Appunti contiene ancora new-line. Quando lo incollo nel terminale, il comando viene eseguito automaticamente.
Ho anche provato a rimuovere il carattere di ritorno a capo \r. Ma nada. Sembra che mi manchi qualcosa di molto cruciale / di base qui.
generate-text | xclipcaso. Questa risposta rimuove solo l'ultima riga.