sed
Oldukça uzun süredir kullanıyorum , ancak çözemediğim bir tuhaflık var.
Asıl durumla ilgili sorunumu açıklayayım.
Sahne 1
printf "ls" | xclip -selection clipboard
echo "ls" | xclip -selection clipboard
İlk komutta, printf
çıktıyı xclip
panoya kopyalanacak şekilde yönlendiriyorum. Şimdi, printf
aksine echo
, varsayılan olarak sonunda yeni bir satır eklemez. Bu nedenle, bu içeriği terminale yapıştırırsam ls
, kopyalanan komut otomatik olarak çalışmaz.
İkincisi, sonunda yeni bir satır var, bu yüzden pano içeriğini yapıştırmak da komutun panodaki çalışmasına neden olur.
Bu benim için istenmeyen bir durum. Bu yüzden, yeni satırı kullanarak kaldırmak istedim sed
, ancak aşağıdaki sahnede açıklandığı gibi başarısız oldu.
Sahne # 2
echo "ls" | sed -r 's/\n//g' | xclip -selection clipboard
Panodaki içerik hala yeni satır içeriyor. Terminale yapıştırdığımda, komut otomatik olarak çalışır.
Ayrıca satır başı karakterini kaldırmayı denedim \r
. Ama nada. Burada çok önemli / basit bir şey eksik gibi görünüyor.
generate-text | xclip
. Bu cevap yalnızca son satırsonu kaldırılır.