Score:0

เปลี่ยนทิศทางเอาต์พุตจาก printf เป็น /dev/tty ใน awk

ธง dk

ฉันมีคำถามเกี่ยวกับ awk

#!/usr/bin/nawk -f
{
    ถ้า (NF != 4) {
        ข้อผิดพลาด ("คาดหวัง 4 ช่อง");
    } อื่น {
        พิมพ์;
    }
}
ข้อผิดพลาดของฟังก์ชัน ( ข้อความ ) {
    ถ้า (ชื่อไฟล์ != "-") {
        printf("%s: ", FILENAME) > "/dev/tty";
    }
    printf("line # %d, %s, line: %s\n", NR, ข้อความ, $0) >> "/dev/tty";
}

อะไร >"/dev/tty" และ >>"/dev/tty" ทำ?

มาจาก https://www.grymoire.com/Unix/Awk.html ภายใต้ User Defined Functions

hr flag
มีไว้สำหรับเพ่งพิศมากกว่างุนงง แต่ดู [5.7 ไฟล์พิเศษสำหรับสตรีมข้อมูลแบบเปิดล่วงหน้าแบบมาตรฐาน](https://www.gnu.org/software/gawk/manual/gawk.html#Special-FD)
Logan Lee avatar
dk flag
@steeldriver ขอบคุณ ฉันเดาว่ามันเป็นการเปลี่ยนเส้นทางข้อความแสดงข้อผิดพลาดไปที่ stderrเอกสารที่คุณให้มาบอกว่าดีกว่าที่จะพิมพ์ "ข้อผิดพลาด!" >"/dev/stderr".

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา