GREP COMMAND กับ STDOUT ของคำสั่งอื่น
GREP COMMAND กับ STDOUT ของคำสั่งอื่น
ยังคงต่อกับ grep command โดยที่เราจะเรียนรู้กันเพิ่มเติมเกี่ยวกับการค้นหาที่เฉพาะเจาะจงเพิ่มมากขึ้น
ค้นหาโดยระบุคำตรงๆ
โดยปกติแล้วเมื่อเราค้นหาโดยการระบุคำไป ยกตัวอย่างเช่น sec คำสั่ง grep จะค้นหาทั้ง sec1, sec2, sec3, sec4, sec5, security และอื่นๆ หากเราอยากจะระบุการค้นหาด้วย grep แบบให้ตรงตามคำที่เราต้องการเท่านั้นจะใช้เป็น -w option เช่น หากเราต้องการค้นหาเฉพาะคำว่า sec จะใช้คำสั่งเป็น
grep -w "sec" file
ค้นหาคำที่แตกต่างกัน
หากเราต้องการค้นหาคำที่แตกต่างกันเราสามารถใช้คำสั่ง egrep ในการค้นหาได้เป็น
egrep -w 'word1|word2' file
ตรวจสอบว่ามีคำซ้ำกี่ครั้ง
เราสามารถตรวจสอบได้ว่าคำที่เราค้นหานั้นถูกพบในไฟล์ที่เราต้องการค้นหาจำนวนกี่ครั้ง จะใช้ -c option ซึ่งจะใช้คำสั่งเป็น
grep -c 'sec' /path/to/file
แสดงว่าอยู่บรรทัดไหน
โดยปกติแล้วจะไม่มีการบอกว่าคำที่เราค้นหาพบนั้นอยู่บรรทัดไหน หากเราต้องการให้ grep บอกด้วยว่าเจอที่บรรทัดเท่าไหร่ สามารถใช้ -n option ได้ โดยจะใช้คำสั่งเป็น
grep -n 'root' /etc/passwd
คัดกรอง output ของคำสั่งใดๆ
นอกเหนือจากการใช้งานเพื่อหาคำจากไฟล์ใดๆแล้ว คำสั่ง grep สามารถใช้ในการกรอง output ของคำสั่งได้ด้วย โดยใช้คู่กับ shell pipes หรือก็คือ | โดยในที่นี้จะคัดกรองคำว่า ls จาก history จะใช้คำสั่งเป็น
history | grep ls
ยกตัวอย่างเพิ่มเติมเช่นการอ่านไฟล์ /proc/cpuinfo จากนั้น filter ให้เหลือเฉพาะ Model เท่านั้น
cat /proc/cpuinfo | grep "model name"
Comments
Post a Comment