โดยบังเอิญฉันพบว่าwc
นับแตกต่างกันขึ้นอยู่กับว่ามันได้รับข้อมูลจากทุบตี:
$ s='hello'
$ wc -m <<<"$s"
6
$ wc -c <<<"$s"
6
$ printf '%s' "$s" | wc -m
5
$ printf '%s' "$s" | wc -c
5
นี่คือ - IMHO ทำให้สับสน - พฤติกรรมมีการบันทึกไว้ที่อื่นหรือไม่ สิ่งที่wc
นับที่นี่ - นี่คือการขึ้นบรรทัดใหม่หรือไม่
xxd -g1
หรือดีกว่า
ฉันหวังว่า
—
user541686
printf "$s"
ไม่ใช่สคริปต์ที่แท้จริงของคุณ ... หวังว่าคุณจะหมายถึงprintf "%s" "$s"
เนื่องจากมีความคิดเห็นมากมายเกี่ยวกับ printf ฉันจึงแก้ไขโพสต์ของฉันเพื่อสะท้อนแนวปฏิบัติที่ดีที่สุด
—
rexkogitans
od -c
เพื่อดูสิ่งที่คุณมีอยู่เสมอ