Sto usando sed
da 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' printf
output in xclip
modo che venga copiato negli Appunti. Ora, printf
diversamente da echo
non inserire una nuova riga alla fine per impostazione predefinita. Quindi, se incollo questo contenuto nel terminale, il ls
comando 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 | xclip
caso. Questa risposta rimuove solo l'ultima riga.