รวมเทคนิคการใช้คำสั่ง sed ครับ
-----------------------
การแทนคำ
ถ้าเราจะแทนคำ foo เป็น bar ตัวแรกที่เจอในบรรทัด
$ sed -e 's/foo/bar/' myfile.txt
ถ้าเราจะแทนคำ foo เป็น bar ทุกตัวในบรรทัดเดียวกัน
$ sed -e 's/foo/bar/g' myfile.txt
ถ้าเราต้องการแทนคำ enchantment เป็น entrapment ทุกตัวในบรรทัดเดียวกัน ตั้งแต่บรรทัดที่ 1-10
$ sed -e '1,10s/enchantment/entrapment/g' myfile.txt
ถ้าเราจะจะสลับคำว่า 'hills' กับคำว่า 'mountains' เฉพาะ text ที่เริ่มต้นด้วย blank และ
สิ้นสุดด้วยคำที่เริ่มต้น 'END'
$ sed -e '/^$/,/^END/s/hills/mountains/g' myfile.txt
ในตัวอย่างก่อนหน้าเราจะใช้ '/' เป็นตัวแบ่ง option แต่ถ้าใน argument เรามี '/' อยู่ เราต้อง
เปลี่ยน '/' ใหม่ เป็น ':' โดยกำหนดไว้หลัง 's'
$ sed -e 's:/url/local:/usr:g' myfile.txt
ถ้าเราจะค้นหาคำที่เริ่มด้วย '<' สิ้นสุดด้วย '>' และมีตัวอักษรอยู่ข้างใน คำเหล่านี้จะถูกลบทิ้ง จะใช้แบบนี้
$ sed -e 's/<.*>//g' myfile.txt
ในบบแรกเราต้องการลบแท็คของ html ออกให้เหลือแต่ประโยคข้างใน เช่น
This is what I meant
แต่เรากลับได้ แบบนี้แทน
meant
ซึ่งไม่ใช่ที่เราต้องการ เพราะเราต้องการแบบนี้
This is what I menat
เราจะใช้แบบนี้คับ
$ sed -e 's/<[^>]*>//g' myfile.txt
-----------------------
ไม่มีความคิดเห็น:
แสดงความคิดเห็น