ให้เราสมมติว่ามีคำสั่งเช่น:
cat /boot/config-3.19.0-32-generic | grep CONFIG_ARCH_DEFCONFIG
ผลลัพธ์เป็นเช่นนี้:
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
ตอนนี้คำถามของฉันคือ: มีคำสั่งใดบ้างที่จะพิมพ์เฉพาะสิ่งที่อยู่ภายในเครื่องหมายจุลภาคคว่ำคือ" "
?
คุณช่วยอธิบายหน่อยได้ไหม? ขอขอบคุณ! ล่วงหน้า.
cat
แม้ว่าจะไม่มีประโยชน์ในกรณีนี้จะทำให้การแก้ไขคำสั่งทั้งหมดในอนาคตง่ายขึ้นในกรณีที่คุณต้องการเปลี่ยน / เพิ่ม / ลบบางสิ่งบางอย่างในภายหลังอาจจะเป็นtr
หรือcut
ฯลฯ ไม่จำเป็นต้องค้นหาและย้ายชื่อไฟล์ ตรวจสอบให้แน่ใจว่าคำสั่งอื่นรองรับ, ค้นหาตำแหน่งที่จะใส่ ฯลฯ และสำหรับไฟล์ทดสอบขนาดเล็กนั้นจะเพิ่ม 0.002 เท่านั้น (ฉันอาจใช้เวลามากกว่านี้ในการพิมพ์มากกว่าที่ฉันจะประหยัดได้ตลอดชีวิตในการหลีกเลี่ยงฟุ่มเฟือยcat
)
cat
ช่วยเหลือที่นี่ คุณสามารถทำได้grep foo file | tr
หรือเพียงได้อย่างง่ายดายเช่น... | cut
เพียงแค่เพิ่มพิเศษห้าตัวอักษร, ท่อพิเศษและมีสายเรียกโปรแกรมพิเศษและไม่ได้อะไรง่าย cat file | tr | grep ...
cat
cat
ในไปป์มักเป็นการสิ้นเปลืองทรัพยากร (AKA UUOC ) เกือบทุกครั้งgrep
สามารถอ่านอินพุตจากไฟล์ได้แล้ว (เช่นgrep CONFIG_ARCH_DEFCONFIG /boot/config-3.19.0-32-generic
ทำสิ่งเดียวกัน แต่ 1. สั้นกว่า 2. เข้าใจง่ายกว่า 3. ไม่แยกเชลล์เพิ่มเติมและกระบวนการเพิ่มเติม) ใน 99% ของกรณีใช้ cat ที่จุดเริ่มต้นของไปป์โดยไม่ต้องต่อหลายไฟล์มันเป็นอันตราย :)