หนีจุดเดียวด้วยแบ็กสแลชคู่ - awk


10

หนังสือ "การเขียนโปรแกรม awk ที่มีประสิทธิภาพ" มีตัวอย่างเกี่ยวกับการแยกฟิลด์ นี่คือตัวอย่าง:

‘FS = "\\.."’ถ้าคุณต้องการที่สาขาที่จะแยกจากกันโดยระยะเวลาที่แท้จริงตามด้วยอักขระตัวเดียวใช้

เหตุใดจึงเป็นแบ็กสแลชสองครั้ง มันไม่ควรจะเป็น\..?

คำตอบ:


14

ทั้งสตริงและแสดงผลปกติในawkหลายหุ้นของหนีทับขวาเดียวกันรวมทั้งสำหรับเดียว\\ \เนื่องจากFSเป็นค่าสตริงที่ถูกตีความภายในว่าเป็นนิพจน์ปกติการหลีกเลี่ยงที่ใช้ร่วมกันเหล่านั้นจะต้องมีการหลบหนีสองครั้ง ดังนั้น\\ในสตริงจะกลายเป็น\เวลาที่มันถูกตีความว่าเป็นนิพจน์ปกติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.