Điểm:-2

Giới thiệu các dòng trống giữa các phần phù hợp

lá cờ jp

Tôi có chức năng bash sau sử dụng sed để trích xuất các phần xảy ra giữa ## Chế độ: tổ chức## # Kết thúc tổ chức, ở đâu # là nhân vật bình luận. Cuối cùng, tôi xóa ký tự nhận xét và mọi khoảng trắng.

Đây là đầu vào của tôi

mèo /home/flora/docs/recnotes.txt
   ## Chế độ: tổ chức
   # Gán các tham số vị trí của shell hoặc thay đổi giá trị của shell
   #  tùy chọn. Tùy chọn -- gán các tham số vị trí cho
   # đối số của {set}, ngay cả khi một số trong số chúng bắt đầu bằng một tùy chọn
   # tiền tố `-'.
   ## # Kết thúc tổ chức

     ;; Chế độ: tổ chức
     ; Gán các tham số vị trí của shell hoặc thay đổi giá trị của shell
     ; tùy chọn. Tùy chọn -- gán các tham số vị trí cho
     ; đối số của {set}, ngay cả khi một số trong số chúng bắt đầu bằng một tùy chọn
     ; tiền tố `-'.
     ;; # Kết thúc tổ chức
 
       @c Chế độ: org
       @c Gán các tham số vị trí của shell hoặc thay đổi giá trị của shell
       tùy chọn @c. Tùy chọn -- gán các tham số vị trí cho
       @c đối số của {set}, ngay cả khi một số trong số chúng bắt đầu bằng một tùy chọn
       tiền tố @c `-'.
       @c # Kết thúc tổ chức

Đây là chức năng bash với việc thực hiện trong sed.

chiếm lấy ()
{
 địa phương efile="$1"

 địa phương charcl begorg endorg

 charcl_ere='^[[:space:]]*([#;!]+|@c|\/\/)[[:space:]]*'
 charcl_bre='^[[:space:]]*\([#;!]\+\|@c\|\/\/\)[[:space:]]*'

 begorg="${charcl_bre}"'Chế độ: org$'
 endorg="${charcl_bre}"'# Kết thúc org$'

 mdr='^Chế độ: org$' ; edr='^# Kết thúc tổ chức$'

 sed -n "/$begorg/,/$endorg/ s/$charcl_bre//p" "$efile" |
  sed "/$mdr\|$edr/d"
}

Ban đầu, tôi có hai lệnh như

begorg='${charcl_bre}Chế độ: org$'
endorg='${charcl_bre}# Kết thúc org$'

không mở rộng biến charcl_bre.

đầu ra là

Gán các tham số vị trí của shell hoặc thay đổi giá trị của shell
tùy chọn. Tùy chọn -- gán các tham số vị trí cho
đối số của {set}, ngay cả khi một số trong số chúng bắt đầu bằng một tùy chọn
tiền tố `-'.
Gán các tham số vị trí của shell hoặc thay đổi giá trị của shell
tùy chọn. Tùy chọn -- gán các tham số vị trí cho
đối số của {set}, ngay cả khi một số trong số chúng bắt đầu bằng một tùy chọn
tiền tố `-'.
Gán các tham số vị trí của shell hoặc thay đổi giá trị của shell
tùy chọn. Tùy chọn -- gán các tham số vị trí cho
đối số của {set}, ngay cả khi một số trong số chúng bắt đầu bằng một tùy chọn
tiền tố `-'.

Điều tôi muốn làm là có một dòng trống giữa các phần.

Artur Meinild avatar
lá cờ vn
Câu hỏi là gì một lần nữa? Hãy chắc chắn rằng câu hỏi của bạn là rõ ràng và xác định.
pLumo avatar
lá cờ in
Các biến sẽ không mở rộng trong dấu nháy đơn.
pLumo avatar
lá cờ in
Điều này có trả lời câu hỏi của bạn không? [Làm cách nào để sử dụng biến trong lệnh sed?](https://askubuntu.com/questions/76808/how-do-i-use-variables-in-a-sed-command)
Điểm:0
lá cờ ca

Theo ý kiến ​​của bạn chỉnh sửa mới nhất, bạn chỉ cần có một dòng trống giữa các phần bình luận khác nhau. Bạn có thể làm điều đó bằng cách thay đổi cuối cùng sed lệnh từ:

sed "/$mdr\|$edr/d"

đến:

sed "/$mdr/d; s/$edr//"

Điều này làm thay đổi sed lệnh xóa cả hai $mdr$edr dòng để chỉ xóa $mdr dòng và thay thế $edr dòng bằng một chuỗi trống, giữ nguyên dòng trống bạn muốn một cách hiệu quả.

Đầu ra là:

Gán các tham số vị trí của shell hoặc thay đổi giá trị của shell
tùy chọn. Tùy chọn -- gán các tham số vị trí cho
đối số của {set}, ngay cả khi một số trong số chúng bắt đầu bằng một tùy chọn
tiền tố `-'.

Gán các tham số vị trí của shell hoặc thay đổi giá trị của shell
tùy chọn. Tùy chọn -- gán các tham số vị trí cho
đối số của {set}, ngay cả khi một số trong số chúng bắt đầu bằng một tùy chọn
tiền tố `-'.

Gán các tham số vị trí của shell hoặc thay đổi giá trị của shell
tùy chọn. Tùy chọn -- gán các tham số vị trí cho
đối số của {set}, ngay cả khi một số trong số chúng bắt đầu bằng một tùy chọn
tiền tố `-'.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.