ฉันรู้ว่าคุณระบุว่าใช้ find แต่เพื่อแสดงตัวเลือกอื่น ๆ ที่สามารถใช้ได้คุณสามารถใช้ xargs:
find . -type d | grep -E "dir1$|dir2$" | xargs ls
find . -name "dir1" -or -name "dir2" | xargs ls
คุณสามารถมีไฟล์ชื่อ "โฟลเดอร์" ที่มีลักษณะดังนี้:
$ cat folders
dir1
dir2
dir3
dir4
จากนั้นคุณสามารถทำสิ่งนี้:
$ cat folders | xargs -I % find . -type d -name % | xargs ls
./Documents/dir1:
file1 file2 file3 file4
./Documents/dir2:
file1 file2 file3 file4
./Documents/dir3:
file1 file2 file3 file4
./Documents/dir4:
file1 file2 file3 file4
xargs ในความคิดของฉันฉันรู้สึกหลากหลายมากกว่าค้นหา -exec นอกจากนี้คุณสามารถทำสิ่งที่บ้าคลั่งเช่น
$ cat << EOF | xargs -I {} find ~ -name "{}" | xargs ls
> dir1
> dir2
> dir3
> EOF
/home/user/Documents/dir1:
file1 file2 file3 file4
/home/user/Documents/dir2:
file1 file2 file3 file4
/home/user/Documents/dir3:
file1 file2 file3 file4