ค้นหาคำสั่ง shellscript execute สำหรับทุกไฟล์


1

ฉันพบคำสั่ง "find" เร็วกว่า "Spotlight" ใน mac os x ฉันเห็นภาพผลลัพธ์ด้วย automator โดยไม่มีโชคดังนั้นฉันหวังว่า geeks รอบ ๆ SU จะช่วยแก้ปัญหาเกี่ยวกับสิ่งนั้น

shellscript.sh searchphrase ดำเนินการ:

  1. สร้างโฟลเดอร์บนเดสก์ท็อป "ผลลัพธ์" หากไม่มี

  2. ลบทุกอย่างในโฟลเดอร์นี้ (ผลลัพธ์ใหม่)

  3. ก่อนผลสร้าง simlink

ขอบคุณ


คุณกำลังค้นหาเนื้อหาของไฟล์หรือเพียงแค่ชื่อไฟล์?
Jed Daniels

คำตอบ:


1

นี่คือรุ่นที่มีการปรับปรุงเล็กน้อย

  • อย่ารวมชื่อผู้ใช้ของคุณในสคริปต์ใช้~เพื่ออ้างถึงไดเรกทอรีบ้านของคุณ

  • เก็บชื่อของไดเรกทอรีผลลัพธ์ไว้ในตัวแปร สิ่งนี้แสดงวิธีใช้ตัวแปรในเชลล์สคริปต์

  • ทำให้ส่วนที่ลบผลลัพธ์ของการค้นหาก่อนหน้ามีประสิทธิภาพมากขึ้น: จะไม่ลบสิ่งที่ไม่ใช่ลิงก์สัญลักษณ์

  • ที่สำคัญที่สุด: รุ่นของคุณจะล้มเหลวด้วยชื่อไฟล์ที่มีช่องว่างหรืออักขระพิเศษเพราะเปลือกไม่ reparsing ผลการบางส่วนและ$(...) $fileคุณควรใส่การแทนที่ตัวแปรในเครื่องหมายคำพูดคู่ (เช่นเขียน"$file") เสมอ เวอร์ชันของฉันทำงานอย่างถูกต้องกับชื่อไฟล์ทั้งหมด (ยกเว้นว่ามีบรรทัดใหม่ แต่ไม่สามารถหลีกเลี่ยงได้locate)

#!/bin/bash
results_dir=~/Desktop/results
mkdir -p "$results_dir"
find "$results_dir" -type l -exec rm {} +
echo "Please enter some input: "
read -r input_variable
locate "$input_variable" | while read -r line; do
  ln -s "$line" "$results_dir/"
done

0

ความคืบหน้าของฉัน:

#!/bin/bash
rm -rf /Users/arpecop/Desktop/results/
mkdir /Users/arpecop/Desktop/results/
echo "Please enter some input: "
read input_variable
for file in $(locate "$input_variable")
do
ln -s $file  /Users/arpecop/Desktop/results/
done
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.