จะค้นหาโฟลเดอร์บนเซิร์ฟเวอร์ของฉันด้วยชื่อที่แน่นอนได้อย่างไร


50

ฉันมีไดเรกทอรีบางแห่งบนเซิร์ฟเวอร์ของฉันที่ชื่อ "exampledocs" ฉันพยายามค้นหาที่ตั้งโดยใช้:

ls -d */ | grep -E 'exampledocs'

และ

find * -regextype posix-extended \-regex 'exampledocs' \-type d

และ

grep "exampledocs" * --recursive

ไม่มีอะไรทำงาน ฉันจะทำสิ่งนี้จากบรรทัดคำสั่งได้อย่างไร ฉันใช้ Ubuntu Server 11.0

คำตอบ:



61

สิ่งนี้ควรทำงาน

find folder_full_path -name exampledocs -type d

1
ค้นหาจากคอมพิวเตอร์ทั้งหมด
amitabha2715

1
@AmitabhaBis คุณต้องตั้งค่าพา ธ แทน "/" ในคำสั่งเพื่อค้นหาในโฟลเดอร์เฉพาะ
เฮโรอีน


0

กับbash's globstarตัวเลือกเปลือกและ[[ประเมินผลเราสามารถทำให้การใช้งานของ globbing recursive และการกำจัดคำนำหน้าเพื่อหาไดเรกทอรีที่ประกอบด้วยสตริงที่จำเป็น นี่คือวิธีที่ฉันจะค้นหาbinโฟลเดอร์:

bash-4.3$ shopt -s globstar
bash-4.3$ for f in ./**/* ; do [ -d "$f" ] && [[ "${f##*/}" =~ ^bin$ ]] && echo "$f" ; done
./bin
./Desktop/TODAY/bin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.