ฉันมีบางข้อความไฟล์ผมใช้ในการจดบันทึกใน - cat >> file
ข้อความธรรมดาเพียงมักจะเพียงแค่ใช้ บางครั้งฉันใช้บรรทัดว่างหรือสอง (แค่กลับ - ตัวอักษรขึ้นบรรทัดใหม่) เพื่อระบุหัวเรื่อง / บรรทัดความคิดใหม่ ในตอนท้ายของแต่ละเซสชันก่อนที่จะปิดไฟล์ด้วยCtrl+ Dฉันมักจะเพิ่มบรรทัดว่าง (5-10) บรรทัด (ปุ่มย้อนกลับ) จำนวนมากเพื่อแยกเซสชัน
เห็นได้ชัดว่านี่ไม่ฉลาดมาก แต่ใช้งานได้สำหรับฉันเพื่อจุดประสงค์นี้ ฉันไม่แต่สิ้นสุดขึ้นกับจำนวนมากและจำนวนบรรทัดที่ว่างเปล่าที่ไม่จำเป็นดังนั้นฉันกำลังมองหาวิธีที่จะลบ (ส่วนใหญ่) สายพิเศษ มีคำสั่ง Linux (ตัด, วาง, grep, ... ?) ที่สามารถใช้โดยตรงกับตัวเลือกไม่กี่? อีกวิธีหนึ่งไม่มีใครมีความคิดสำหรับ sed, awk หรือ perl (ดีในภาษาสคริปต์ใด ๆ จริง ๆ แม้ว่าฉันจะชอบ sed หรือ awk) สคริปต์ที่จะทำสิ่งที่ฉันต้องการ? เขียนอะไรบางอย่างใน C ++ (ซึ่งจริง ๆ แล้วฉันสามารถทำเอง) ดูเหมือนว่าเกินความจริง
กรณี # 1: สิ่งที่ฉันต้องการคือสคริปต์ / คำสั่งที่จะลบบรรทัดว่างที่ต่อเนื่องกันมากกว่าสองบรรทัด (3 หรือมากกว่า) และแทนที่ด้วยบรรทัดว่างสองบรรทัด แม้ว่ามันจะดีถ้ามันสามารถ tweaked เพื่อลบมากกว่าหนึ่งบรรทัด (2 หรือมากกว่า) และ / หรือแทนที่หลายบรรทัดว่างด้วยบรรทัดว่างเพียงหนึ่งบรรทัด
กรณี # 2: ฉันสามารถใช้สคริปต์ / คำสั่งที่จะลบบรรทัดว่างเดี่ยวระหว่างข้อความสองบรรทัด แต่ปล่อยให้บรรทัดว่างหลายบรรทัดเป็นอยู่ (แม้ว่าการลบหนึ่งในบรรทัดว่างนั้นจะยอมรับได้)
vim
เดียวและเพื่อแทนที่บรรทัดว่างด้วยบรรทัดว่างหนึ่งบรรทัด)