วิธีการใช้ grep บน Linux เพื่อรายงานอย่างละเอียดว่าสตริงนั้นมีอยู่ในไฟล์หรือไม่?


14

ฉันต้องการทราบว่าack_enabled not definedมีอยู่ในไฟล์ที่เฉพาะเจาะจงall_defs.txtและส่งคืนบางสิ่งซึ่งฉันสามารถเข้าใจได้ว่าสตริงนั้นมีอยู่หรือไม่

ใครช่วยบอกฉันถึงวิธีการทำเช่นนี้?

คำตอบ:


19

grepเพียงแค่ตรวจสอบรหัสทางออกของ -qทำให้มันเงียบ, !negates รหัสทางออก:

if ! grep -q 'ack_enabled not defined' all_defs.txt ; then
    echo Not found.
fi

7

เพิ่มเติมซับหนึ่ง

ซับต่อไปนี้มีความละเอียดมากยิ่งขึ้น:

grep -q 'ack_enabled not defined' all_defs.txt && echo 'string found' || echo 'string not found'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.