ฉันพยายามพิมพ์บรรทัดโดยใช้สัญลักษณ์การทำซ้ำ {n} แต่มันไม่ทำงาน สำหรับ. เช่นฉันต้องการพิมพ์ทุกบรรทัดที่มีความยาว 4 อักขระ
awk '/^.{4}$/' test_data
รหัสด้านบนไม่ได้ทำการพิมพ์นั้นจะแก้ไขได้อย่างไรเพื่อที่ฉันจะสามารถใช้สัญลักษณ์ซ้ำได้? ฉันรู้ว่าทางเลือกเช่นawk '/^....$/' test_data
และawk 'length ==3 ' test_data
awk '/^.{4}+$/{print}' <<<$'foods\nbaarsz\nfooo'
ตรงกับ 4 ตัวอักษร นอกจากนี้ตามที่คุณพูดถึงตัวเอง awk 'length($0) == 4' test_data
เข้ากันได้กับเกือบทุกawk
รุ่น
awk --re-interval '/^.{4}$/' test_data
หรือawk --posix '/^.{4}$/' test_data
ทำงาน