4
ฉันจะ cat เนื้อหาของไฟล์ที่พบโดยใช้ find เป็นไฟล์เดียวได้อย่างไร?
ฉันพยายามที่จะยิงตัวเองในที่ที่เจ็บ (แย่มาก) โดยการฟอร์แมตพาร์ติชันที่เก็บข้อมูลที่มีค่า แน่นอนมันไม่ได้ตั้งใจ แต่มันเกิดขึ้น อย่างไรก็ตามฉันจัดการเพื่อใช้testdiskและphotorecกู้คืนข้อมูลส่วนใหญ่ ตอนนี้ฉันมีข้อมูลทั้งหมดที่แจกจ่ายไปแล้วกว่า 25,000 ไดเรกทอรี ไฟล์ส่วนใหญ่เป็นไฟล์. txt ส่วนที่เหลือเป็นไฟล์รูปภาพ มีไฟล์. txt มากกว่า 300 ไฟล์ในแต่ละไดเรกทอรี ฉันสามารถgrepหรือใช้findเพื่อแยกสตริงจากไฟล์. txt และส่งออกไปยังไฟล์ ตัวอย่างเช่นต่อไปนี้เป็นบรรทัดที่ฉันใช้ตรวจสอบว่าข้อมูลของฉันอยู่ในไฟล์ที่กู้คืนแล้ว: find ./recup*/ -name '*.txt' -print | xargs grep -i "searchPattern" ฉันสามารถเอาท์พุท "searchPattern" ไปยังไฟล์ได้ แต่นั่นให้รูปแบบนั้น นี่คือสิ่งที่ฉันต้องการจะทำจริง: ผ่านไฟล์ทั้งหมดและค้นหาสตริงเฉพาะ หากพบสตริงนั้นในไฟล์ให้จับเนื้อหาทั้งหมดของไฟล์นั้นไปยังไฟล์เอาต์พุต หากพบรูปแบบในไฟล์มากกว่าหนึ่งไฟล์ต่อท้ายเนื้อหาของไฟล์ที่ตามมาไปยังไฟล์เอาต์พุตนั้น โปรดทราบว่าฉันไม่ต้องการส่งออกรูปแบบที่ฉันค้นหา แต่เนื้อหาทั้งหมดของไฟล์ที่พบรูปแบบ ฉันคิดว่ามันเป็นไปได้ แต่ฉันไม่รู้วิธีที่จะคว้าเนื้อหาทั้งหมดของไฟล์หลังจาก grepping รูปแบบเฉพาะจากมัน
11
shell-script
find