Score:0

จะแสดงรายการไฟล์ ASCII ทั้งหมดในไดเร็กทอรีได้อย่างไร

ธง mx

ฉันต้องการแสดงรายการไฟล์ ASCII ทั้งหมดที่ไม่มีนามสกุล (.txt) ในไดเร็กทอรีการทำงานปัจจุบันของฉัน (โฮม) ฉันเริ่มต้นด้วย คำสั่งในเทอร์มินัล แต่ฉันไม่รู้ว่าฉันควรใส่ตัวเลือกอะไรเพราะฉันต้องการแสดงรายการไฟล์ที่ไม่มีนามสกุล แต่มีเพียงชื่อเท่านั้น ฉันต้องทำอย่างไร?

Score:6
ธง cn

เรียกใช้คำสั่งต่อไปนี้:

หา . -ความลึกสูงสุด 1 -ประเภท f ! -ชื่อ "*.*" -exec grep -lvIP '[^[:ascii:]]' {} +
  • หา เป็นพลังมากขึ้น .
  • . -ความลึกสูงสุด 1 หมายถึงไดเร็กทอรีปัจจุบันเท่านั้น
  • -ประเภทฉ หมายถึงเฉพาะไฟล์
  • ! -ชื่อ "*.*" หมายถึงการไม่รวมไฟล์ที่มีนามสกุล
  • -exec grep...{} + หมายถึงกรองรายการไฟล์ผ่าน เกรป สั่งการ
  • -lvIP '[^[:ascii:]]' หมายถึงแสดงเฉพาะไฟล์ -l ซึ่งไม่มี -v ใด ๆ ที่ไม่ใช่ (^) -อักขระ ascii และยังไม่มีข้อมูลไบนารี (-ฉัน). ไวยากรณ์ Perl -ป จำเป็นต้องใช้ [:แอสกี้:] คลาสอักขระในรูปแบบ
Score:4
ธง cn

ใน Linux ไฟล์ใด ๆ อาจมีเนื้อหาใดก็ได้ ดังนั้นไฟล์ชื่อ a.txt อาจมีรูปภาพ JPEG และไฟล์ชื่อ เฟิร์มแวร์.bin อาจมีข้อความ ASCII

หากคุณสนใจในเนื้อหาของไฟล์ (เพื่อให้มี "ข้อความ ASCII") เช่นเดียวกับชื่อของไฟล์ (ไม่มี . ในชื่อไฟล์) ข้อเสนอของ @vanadium ในความคิดเห็นของคำตอบอื่นอาจได้รับการปรับปรุงดังนี้:

หา . -ความลึกสูงสุด 1 -ประเภท f ! -ชื่อ "*.*" -exec ไฟล์ -0 {} \; | \
  grep -Pa "\0.*ข้อความ ASCII.*$"

* คำสั่งนี้ถูกต้อง ไม่ เลือกไฟล์ "ไบนารี" ที่มี ข้อความแอสกี ในชื่อของพวกเขา

ที่จะได้รับ เฉพาะรายชื่อไฟล์ ที่ตรงกันเพิ่มท่อ | grep -เปา '^[^\0]*' จนจบคำสั่งที่ให้ไว้ข้างต้น

Score:0
ธง in

สามารถทำได้ด้วย หา:

หา . -ความลึกสูงสุด 1 -ประเภท f ! -ชื่อ "*.*"

โปรดทราบว่า ! วิธี ไม่ดังนั้น จะลบผลลัพธ์ใดๆ ที่มี a ..

vanadium avatar
cn flag
นี่จะแสดงรายการไฟล์ *ทั้งหมด* ที่ไม่มีนามสกุล ไม่ใช่เฉพาะไฟล์ข้อความ ASCII ตามที่ OP ถาม จุดประสงค์ของ OP ดูเหมือนจะเป็นการดึงไฟล์ ASCII ทั้งหมด แม้ว่าไฟล์เหล่านั้นจะไม่มีนามสกุลก็ตาม
vanadium avatar
cn flag
อาจกลายเป็น `หา . -ความลึกสูงสุด 1 -ประเภท f ! -ชื่อ "*.*" -exec ไฟล์ {} \; | grep "ASCII text"` เพื่อค้นหาไฟล์ ASCI ที่ไม่มีนามสกุลเท่านั้น
FedKad avatar
cn flag
@vanadium นี่ไม่ใช่โซลูชันที่สมบูรณ์แบบเนื่องจากจะจับคู่ไฟล์ที่ไม่ใช่ ASCII กับ `ASCII text` ในส่วนของชื่อ อย่างไรก็ตาม OP ไม่ชัดเจนเมื่อพูดถึง "ไฟล์ ASCII"
skekmal avatar
mx flag
@FedonKadifeli คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับไฟล์ ASCII ที่ฉันไม่รู้ได้ไหม มีไฟล์ ASCII ประเภทต่างๆ ที่เราสามารถใช้ที่นี่เพื่อจำกัดขอบเขตการค้นหาหรือไม่
FedKad avatar
cn flag
@skekmal ใน Linux ไฟล์ใด ๆ ที่มีเนื้อหาใด ๆ ดังนั้น ไฟล์ชื่อ `a.txt` อาจมีรูปภาพ JPEG และไฟล์ชื่อ `firmware.bin` อาจมีข้อความ ASCII อยู่ด้วย หากคุณสนใจในเนื้อหาของไฟล์รวมถึงชื่อของไฟล์ ข้อเสนอของ @vanadium อาจได้รับการปรับปรุงดังนี้: `find . -ความลึกสูงสุด 1 -ประเภท f ! -ชื่อ "*.*" -exec ไฟล์ -0 {} \; | grep -Pa "\0.*ข้อความ ASCII"`
vanadium avatar
cn flag
@FedonKadifeli นั่นคือเหตุผลที่ฉันไม่ได้เขียนคำตอบแบบเต็ม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา