ฉันเคยใช้sedมาระยะหนึ่งแล้ว แต่นี่เป็นเรื่องแปลกที่ฉันมาด้วยซึ่งฉันไม่สามารถแก้ไขได้
ให้ฉันอธิบายปัญหาของฉันกับกรณีจริง
ฉาก # 1
printf "ls" | xclip -selection clipboard
echo "ls" | xclip -selection clipboard
ในคำสั่งแรกฉันไปป์printfเอาท์พุทxclipเพื่อที่จะได้รับการคัดลอกไปยังคลิปบอร์ด ตอนนี้สิ่งที่printfแตกต่างechoไม่ได้แทรกบรรทัดใหม่ในตอนท้ายโดยค่าเริ่มต้น ดังนั้นหากฉันวางเนื้อหานี้ลงในเทอร์มินัลlsคำสั่งที่คัดลอกจะไม่ทำงานโดยอัตโนมัติ
ในวินาทีมีบรรทัดใหม่ในตอนท้ายดังนั้นการวางเนื้อหาของคลิปบอร์ดยังส่งผลให้การรันคำสั่งในคลิปบอร์ด
นี่เป็นสิ่งที่ไม่พึงปรารถนาสำหรับฉัน ดังนั้นฉันต้องการลบการขึ้นบรรทัดใหม่โดยใช้sedแต่มันล้มเหลวดังอธิบายในฉากด้านล่าง
ฉาก # 2
echo "ls" | sed -r 's/\n//g' | xclip -selection clipboard
เนื้อหาในคลิปบอร์ดยังมีบรรทัดใหม่ เมื่อฉันวางลงในเทอร์มินัลคำสั่งจะทำงานโดยอัตโนมัติ
\rฉันยังพยายามเอาตัวละครที่กลับรถ แต่นาดา ดูเหมือนว่าฉันขาดสิ่งที่สำคัญมาก / พื้นฐานไปที่นี่
generate-text | xclipกรณีนี้ คำตอบนี้จะลบ newline สุดท้ายเท่านั้น