คำถามติดแท็ก find

คำสั่ง find ในระบบ Windows ใช้เพื่อกรองบรรทัดข้อความอินพุตและส่งคืนคำสั่งที่ตรงกับตัวกรอง คำสั่ง find ในระบบ * nix ใช้เพื่อค้นหาไฟล์หรือโฟลเดอร์ที่ตรงกับเกณฑ์ที่กำหนด

3
เครื่องหมายคำพูดเดี่ยวและตัวแปรภายในเชลล์เบิร์น
ฉันมีคำสั่งนี้ที่ฉันพยายามที่จะดำเนินการในเปลือก bourne สำหรับ Solaris 9 find ${DATADIR} -name "check_*" -type f -exec sh -c '$0 | ${PARSEDATA}' {} \; >> ${TMP_1} ปัญหาของฉันคือตัวแปร${PARSEDATA}ทำงานไม่ถูกต้องฉันลองใช้เครื่องหมายคำพูดคู่ล้อมรอบมันแล้วปัญหาคือ$0ชื่อของสคริปต์ที่ใช้รหัสนี้ไม่ใช่ไฟล์ที่ใช้findคำสั่ง ข้อเสนอแนะใด ๆ ในการแก้ปัญหานี้อาจเป็นปัญหาง่ายมีประโยชน์อย่างมาก ขอบคุณล่วงหน้า. อัปเดต: $0เป็นชื่อของสคริปต์ที่ใช้findคำสั่งตัวแปรสำหรับ${PARSEDATA}เป็นตัวกรองอยู่ที่ใดที่หนึ่งในระบบที่ปรับเปลี่ยนเอาต์พุตของสคริปต์ที่พบแต่ละรายการ อย่างไรก็ตามปัญหาคือฉันไม่สามารถรับทั้งสอง$0และ${PARSEDATA}ขยายอย่างถูกต้อง$0ขยายได้ดีโดยใช้อัญประกาศเดียวหรือใช้ double qoutes ${PARSEDATA}ขยายดี แต่จากนั้น$0กลายเป็นชื่อของสคริปต์ต้นฉบับที่รันfindคำสั่งนี้
1 shell  find  solaris 

1
วิธีไม่รวมไดเรกทอรีหลักเมื่อใช้คำสั่ง zip?
ฉันจำเป็นต้อง: สำรวจไดเรกทอรีและค้นหาโฟลเดอร์ย่อยทั้งหมดที่สร้างขึ้นสำหรับ> X days ago บีบอัดเนื้อหาของโฟลเดอร์เหล่านี้ภายในโฟลเดอร์ย่อยและลบเนื้อหาก่อนหน้า ตัวอย่างไฟล์ strucutre ตั้งแต่ต้น: root_folder: sub-dir (many of these): sub-sub-dir (many of these): content1 (can be file or folder) content2 (can be file or folder) content3 (can be file or folder) ตัวอย่างไฟล์ strucutre หลังจากคำสั่งเสร็จสิ้น: root_folder: sub-dir: sub-sub-dir: zipfile.zip แต่! ฉันไม่ต้องการรวมโครงสร้างโฟลเดอร์ทั้งหมด (sub-dir / sub-sub-dir) ในไฟล์ zip …

1
ทำงานกับ LFTP ค้นหาและ -exec ตัวเลือกเกิดข้อผิดพลาด
เกิดอะไรขึ้นกับคำสั่ง lftp ต่อไปนี้ มีไฟล์บนเซิร์ฟเวอร์ ฉันพยายามรับชื่อโดยไม่มีเส้นทางใด ๆ ในนั้น (เช่น./) เพียงแค่ชื่อไฟล์ lftp -u user,password -e 'find -exec basename {} \; ;bye' ftp.mycompany.com/Courses >/opt/output/downloaded/course_list ฉันได้รับข้อผิดพลาดดังต่อไปนี้ - cd ok, cwd=/Courses find: invalid option -- 'e' Usage: find [-d #] dir
1 linux  unix  find  lftp 

2
ค้นหาคำสั่ง shellscript execute สำหรับทุกไฟล์
ฉันพบคำสั่ง "find" เร็วกว่า "Spotlight" ใน mac os x ฉันเห็นภาพผลลัพธ์ด้วย automator โดยไม่มีโชคดังนั้นฉันหวังว่า geeks รอบ ๆ SU จะช่วยแก้ปัญหาเกี่ยวกับสิ่งนั้น shellscript.sh searchphrase ดำเนินการ: สร้างโฟลเดอร์บนเดสก์ท็อป "ผลลัพธ์" หากไม่มี ลบทุกอย่างในโฟลเดอร์นี้ (ผลลัพธ์ใหม่) ก่อนผลสร้าง simlink ขอบคุณ

1
ค้นหาไฟล์ที่มีการเว้นวรรคที่แก้ไขใน 60 วันที่ผ่านมาและ tar.gz ในไฟล์ที่มีขนาดไม่ใหญ่กว่านั้นและ 4GB ด้วยวันที่
ฉันรักษาไฟล์เซิร์ฟเวอร์ ฉันต้องการสำรองไฟล์ที่มีการเปลี่ยนแปลงในช่วงเวลาหนึ่ง ก่อนอื่นฉันบีบอัดไฟล์ทุกอย่างเป็นไฟล์ 4GB และสำรองข้อมูลลงแผ่นดีวีดี แต่ 7z ที่ฉันใช้อยู่ 7z a -t7z /home/user/myfiles051413_proj.7z /home/share/projects -v4000m -m0=bzip2 -mmt=4 ดูเหมือนจะไม่มีวิธีที่จะซิปไฟล์ที่แก้ไขใน 60 วันที่ผ่านมาและฉันไม่แน่ใจว่าจะส่งผ่านไปยังคำสั่ง sorta เช่นนี้ได้อย่างไร ฉันไม่ต้องการบีบอัดทั้งโฟลเดอร์และสำรองสิ่งที่สำรองไว้แล้ว! (เสียพื้นที่) tar ดูเหมือนว่าจะทำงานได้ดีกับสิ่งนี้ find /home/share/projects -mtime -60 และการวางคำสั่งลงในคำสั่งก็ใช้งานได้เช่นกัน แต่ช่องว่างให้ปัญหาแก่ฉัน นี่คือคำสั่งที่ฉันพยายามจะทำงาน การค้นหาไฟล์ทั้งหมดที่แก้ไขใน 60 วันที่ผ่านมา จากนั้นทำการบีบอัดไฟล์เหล่านั้นเป็นไฟล์ 4GB find /home/share/projects/ -mtime -60 | xargs tar -cvML 4194304 -f /home/user/myfiles`date '+%d%m%Y'_proj.tar` ในขณะนี้มันจะทำงานชั่วขณะหนึ่งแล้วมีไฟล์ขนาดเล็กเพียงไฟล์เดียว …
1 find  tar  7-zip 

2
เหตุใดจึงไม่ xargs ในการค้นหาทำงานกับชุดคำสั่งที่ใช้ pushd และ popd เพื่อเดินทรีย่อยไดเรกทอรี
บนเครื่อง Linux Centos 4 ฉันพยายามสร้างบรรทัดคำสั่ง bash แบบง่าย ๆ เพื่อเดินโครงสร้างไดเรกทอรีด้านล่างไดเรกทอรีปัจจุบันที่กำหนดเองและในแต่ละไดเรกทอรีย่อยให้แตะที่ไฟล์รายการเนื้อหาของไดเรกทอรี แต่ไปป์/dev/nullและลบไฟล์ที่ถูกสัมผัส จุดที่ไม่ชัดเจนของสคริปต์นี้คือการทำให้ระบบไคลเอ็นต์ / เซิร์ฟเวอร์ NFS ต้นแบบเพื่อให้แน่ใจว่าเนื้อหาของแต่ละไดเรกทอรีสะท้อนการเปลี่ยนแปลงที่เกิดขึ้นกับเครื่องอื่นซึ่งอาจใช้เวลาในการเผยแพร่ ฉันพบวิธีแก้ปัญหานี้เพื่อหลีกเลี่ยงความล่าช้า ละเว้นข้อดีของเหตุผลในการทำเช่นนี้เพราะเหตุใดฉันจึงไม่เสนอสคริปต์ทุบตี [CentosMachine] find . -type d -print0 | xargs -0 -I {} pushd {}; touch xYzZy.fixZ; ls &> /dev/null; rm -f xYzZy.fixZ; popd xargs: pushd: No such file or directory bash: popd: directory stack …

4
ค้นหาไฟล์ทั้งหมดที่มีไฟล์อื่นที่ไม่มีนามสกุลต่างกันอยู่แล้ว
ฉันต้องการใช้คำสั่ง find เพื่อค้นหาไฟล์ทั้งหมดที่มีนามสกุล (avi) ที่ซึ่งชื่อไฟล์เดียวกันกับนามสกุลอื่น (mp4) ไม่มีอยู่จริง ดังนั้นเมื่อพิจารณาไฟล์เหล่านี้: a.avi a.mp4 c.avi มันควรจะส่งผลให้พบไฟล์ c.avi เท่านั้น
1 ubuntu  bash  find 

2
การตีความนิพจน์ทั่วไปโดยใช้ find ใน Linux confusion
ฉันพยายามใช้findคำสั่งและพบบทความที่http://www.linux.ie/newusers/beginners-linux-guide/find.phpซึ่งระบุว่า: อักขระไวด์การ์ดจะถูก Escape ด้วยเครื่องหมายทับเพื่อให้ BASH ส่งเครื่องหมายดอกจันตามตัวอักษรไปยังยูทิลิตี find เป็นอาร์กิวเมนต์แทนการดำเนินการขยายชื่อไฟล์และส่งผ่านไฟล์จำนวนเท่าใดก็ได้ในรูปแบบอาร์กิวเมนต์ find . -name up\*สำหรับคำสั่ง เป็นใหม่กับโลกของลินุกซ์ที่ฉันไม่เข้าใจวิธีการใช้เครื่องหมายที่มีความหมายที่จะหลบหนีอักขระ meta ถูกตีความและผลตอบแทนราวกับว่ามันจะถูกส่งผ่านไปยัง* findหมายความว่าถ้าฉันใช้-nameตัวเลือกที่ฉันต้องใช้แบ็กสแลชเพื่อส่งผ่านตัวแทนและถ้าฉันไม่ใช้-nameฉันไม่ต้องใช้แบ็กสแลช? มีการใช้แบ็กสแลชเพื่อที่เชลล์ bash จะไม่พยายามขยายหรือไม่?
1 linux  find 

1
หาคำสั่งเอาท์พุทอะไร
เมื่อเร็ว ๆ นี้พบว่าพฤติกรรมคำสั่งแปลก ๆ [root@luna ~]# find / -name \*.sh -print [root@luna ~]# find / -name \*.sh -print /home/data/tools/rd/RDService/scripts/createZipArchive.sh /home/data/tools/rd/RDService/scripts/createImgArchive.sh find: `/home/data/lost+found': Permission denied find: `/home/music/lost+found': Permission denied (snip) ฉันค้นหาพบ แต่ไม่ได้อะไรเลยและออกจากภายใน 1 วินาที ดังนั้นฉันทำอีกครั้ง ฉันได้ผลลัพธ์ที่ถูกต้องในครั้งนี้ (NFS ได้รับอนุญาตถูกปฏิเสธ) ฉันใช้ arch linux 64bit เวอร์ชันของ find เป็นดังนี้: [root@luna ~]# type -a find find …

1
ข้อผิดพลาด #value โดยใช้ FIND
ฉันกำลังพยายามสร้างสูตรที่จะรับค่าในเซลล์จากจุดเริ่มต้นถึงทันทีก่อน "." เช่น. เซลล์ A2 คือ 1440.00 ในเซลล์ B2 สูตรของฉันคือ = LEFT (A2, FIND (".", A2,1)) นอกจากนี้ในสเปรดชีตใหม่สูตรใช้งานได้ แต่เมื่อฉันแก้ไขเซลล์ข้อความแสดงข้อผิดพลาด #VALUE จะปรากฏขึ้น

2
ค้นหา -print0 | xargs -0 grep ไม่ทำงานตามที่คาดไว้ใน Ubuntu 10.04
ฉันมีปัญหาแปลก ๆ เล็กน้อย ถ้าฉันวิ่ง: find . -iname '*.php' -o -iname '*.pl' -o -iname '*.html' | xargs grep -i users ฉันได้รับข้อผิดพลาดในการโหลดชื่อไฟล์ที่มีช่องว่าง แต่ก็มีบางไฟล์ที่ตรงกัน อย่างไรก็ตามหากฉันลองต่อไปนี้เพื่อจัดการชื่อไฟล์ที่มีช่องว่างอย่างถูกต้องจะไม่มีการคืนค่าที่ตรงกัน: find . -iname '*.php' -o -iname '*.pl' -o -iname '*.html' -print0 | xargs -0 grep -i users ผมทำอะไรผิดหรือเปล่า? คำสั่งที่สองควรส่งคืนฉันอย่างน้อยก็เป็นไฟล์ที่เหมือนกันกับไฟล์แรก แต่ฉันไม่พบรายการใด
shell  find  xargs 

0
อักขระตัวแทน“ *” มีอักขระขึ้นบรรทัดใหม่หรือไม่และอยู่ในการค้นหาและแทนที่ของคำ
ฉันได้รับพฤติกรรมที่ไม่สอดคล้องกันกับสิ่งนี้และไม่ใช่แค่เพื่อผลตอบแทนที่แข็งและอ่อนนุ่ม แต่สำหรับผลตอบแทนที่หนัก ฉันไม่สามารถทำงานได้ว่ามีข้อผิดพลาดกับพฤติกรรมที่นี่หรือถ้าฉันทำอะไรผิด น่า the*quick*brown*fox ค้นหาข้อความดังต่อไปนี้หรือไม่หรือไม่? เป็นธรรมดาเพื่อความสมบูรณ์: บทนำสู่เอกสารนี้ the thing is that this blah blah a whole bunch of unrelated stuff quick brown a bunch more stuff "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et fox es เย็น Dolore magna aliqua เพื่อให้ได้สิ่งที่ดีที่สุดการออกกำลังกายที่ดีจะช่วยให้คุณมีสุขภาพดี

1
วิธีค้นหาแถวเฉพาะใน Excel
ฉันกำลังมองหาสูตรบางอย่างใน Excel เช่น give me the number of the row which its first column is 5 and its second is 3 ฉันค้นหาเว็บ แต่พบการค้นหาการค้นหาการค้นหาและ ... ซึ่งฉันไม่สามารถใช้มันเพื่อประโยชน์นี้ นอกจากนี้ในคำถามที่คล้ายกันบางคนแนะนำการเข้าถึงซึ่งสามารถดำเนินการได้อย่างง่ายดาย แต่ฉันสงสัยว่ามีสูตร Excel ทำเช่นนี้หรือไม่ ตัวอย่างเช่นฉันมีรายการดังต่อไปนี้ Column-A Column-B Column-C row-1 user ID item ID suggested cost row-2 1 1 1000 row-3 1 2 500 row-4 2 …

1
ฉันจะรับรายการไฟล์ที่ตรงกับรายการของนิพจน์ทั่วไปได้อย่างไร
ฉันต้องการดูว่าไม่มีการสำรองข้อมูลโดยใช้นิพจน์ทั่วไป รายการอยู่ที่นี่: https://support.code42.com/CrashPlan/4/Troubleshooting/What_Is_Not_Backing_Up#Admin_Excludes ฉันเหนื่อย $ cat | xargs -L 1 echo find /cygdrive/c/Users/Chloe -regex -name และวางรายการของนิพจน์ทั่วไปซึ่งดูดี เมื่อฉันลบechoมันมันทำให้เกิดข้อผิดพลาด find: paths must precede expression: .*/(?:42|d{8,}).*/(?:cp|~).* ฉันลองหนึ่งบรรทัดด้วยตนเองและได้รับ $ find /cygdrive/c/Users/Chloe -regex -name .*.part find: paths must precede expression: .*.part ฉันยังลองใช้คำพูด $ find /cygdrive/c/Users/Chloe -regex -name '.*.part' find: paths must precede expression: .*.part ฉันลองเปลี่ยนคำสั่งด้วย …

1
ไฮไลต์เซลล์ตามคำที่ระบุหรือไม่ปรากฏในช่วงที่กำหนดหรือไม่
ฉันมี 2 แผ่น Sheet1 & Sheet2 แผ่นงานที่ 1มีรายการของรายการพร้อมคำอธิบาย & หมายเลขเฉพาะ แผ่นงานที่ 2มีตารางที่เต็มไปด้วยรายการเดียวกัน สิ่งที่ฉันต้องการจะทำคือไฮไลต์เซลล์ที่เลือกในSheet2หากคำเฉพาะถูกกล่าวถึงที่ใดก็ได้ในSheet1โดยใช้การจัดรูปแบบตามเงื่อนไข ตัวอย่างเช่นถ้าSheet2ของฉันเป็นตารางตัวเลข 1-12 (ม.ค. - ธ.ค. ) 1 2 3 4 5 6 7 8 9 10 11 12 และฉันมีรายการวันที่ใน Sheet1 คอลัมน์ C เช่นกัน 1 มกราคม 20xx 10 กุมภาพันธ์ 20xx 20 มกราคม 20xx 18 ธันวาคม 20xx 10 กรกฎาคม …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.