Score:0

พฤติกรรม sed ขึ้นอยู่กับไฟล์ที่ฉันใช้

ธง jp

ฉันมีไฟล์หนึ่งชื่อ test1.xml พร้อมด้วยเนื้อหาต่อไปนี้:

สวัสดี คุณสบายดีไหม?

และฉันกำลังพยายามใช้การค้นหาและแทนที่ sed ต่อไปนี้:

sed -i 's/สวัสดี //g' test1.xml

และไฟล์ยังเหมือนเดิม!!!

ฉันกำลังคัดลอกเนื้อหาของไฟล์เดียวกันนั้นไปยังไฟล์ใหม่ที่ฉันชื่อ test2.xml ใช้ sed เดิมและใช้งานได้ สวัสดีถูกลบออก ความคิดใด ๆ

ฉันใช้ OSX BigSur 11.5.2

นี่คือสองไฟล์: ทดสอบ 1.xml: https://we.tl/t-tX1SMdYQ0A ทดสอบ 2.xml: https://we.tl/t-AULhYhZ2K9

เมื่อตรวจสอบทั้งสองไฟล์ ดูเหมือนว่าจะแตกต่างกัน:

od -c test1.xml 
0000000 376 377 \0 H \0 e \0 l \0 l \0 o \0 \0 ชั่วโมง
0000020 \0 o \0 w \0 \0 a \0 r \0 e \0 \0 y
0000040 \0 o \0 u \0 \0 d \0 o \0 ฉัน \0 n \0 ก
0000060 \0 ?                                                        
0000062


od -c test2.xml
0000000 H e l l o h o w a r e y o
0000020 คุณ d o ฉัน n g ?                                
0000030
Joseph Quinsey avatar
ng flag
ดู [เหตุใด sed จึงไม่แสดงผลข้อความ](//apple.stackexchange.com/q/320501)
Joseph Quinsey avatar
ng flag
และอาจเห็น [มีทางเลือกอื่นสำหรับ sed ที่รองรับ unicode หรือไม่](//unix.stackexchange.com/q/196780)
ph flag
นอกจากนี้ `sed` เวอร์ชัน macOS (/BSD) จะแยกวิเคราะห์ตัวเลือก `-i` แตกต่างจากเวอร์ชัน Linux (/GNU) ดังนั้นคุณต้องใช้ `sed -i '' ...`ดู [คำถามนี้](https://unix.stackexchange.com/questions/92895/how-can-i-achieve-portability-with-sed-i-in-place-editing) และ [อันนี้ใน stackoverflow]( https://stackoverflow.com/questions/5694228/sed-in-place-flag-that-works-both-on-mac-bsd-and-linux)

โพสต์คำตอบ

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