GNU/Linux: findutils
Atjaunināšanas datums: Sep 2, 2023
Dažas “find” variācijas, kuras man ir noderējušas
Atrast un kopēt:
Kopēt visas datnes ar .mp4 paplašinājumu uz citu lokāciju:
find . -type f -iname "*.mp4" -exec cp "{}" /cita/lokācija/ \;
Atrast un izvadīt informāciju:
Uz ekrāna izvadīt datņu nosaukumu, ceļu, izmēru, inode, kā arī sha256 integritātes kodu.
find . -type f -printf "%f\t %P\t %s\t %i\t " -exec sh -c 'sha256sum "{}" | cut -d " " -f 1 ' \;
Uz ekrāna izvadīt ceļu, nosaukumu, izmēru, piekļūšanas laiku, modificēšanas laiku un sha256 integritātes kodu.
find . -type f -printf "%P\t %s\t %a\t %t\t" -exec sh -c 'sha256sum "{}" | cut -d " " -f 1 ' \;
Meklēt datņu saturā:
Atrast visas datnes, kas satur kādus konkrētus simbolus.
find . -type f -print0 | xargs -0 grep "Konkrēti simboli"
Atrast un konvertēt:
Atrast visas datnes ar .txt paplašinājumu un konvertēt tās .doc formātā (nepieciešams LibreOffice).
find . -type f -name "*.txt" -exec soffice --headless --convert-to doc --outdir /izvades/direktorija/ "{}" \;
Apvienot visas patreizējā direkorijā esošās datnes ar .mp4 paplašinājumu vienā datnē (nepieciešams ffmpeg)
find *.mp4 | sed 's:\ :\\\ :g'| sed 's/^/file /' > fl.txt; ffmpeg -f concat -safe 0 -i fl.txt -c copy output.mp4; rm fl.txt
Atrast un saskaitīt:
Atrast un saskaitīt visas .jpeg datnes.
find . -type f -exec file '{}' \; | grep "JPEG" | wc -l
Atrast datnes pēc laikiem:
Izveidotas pēc konkrēta datuma (mm/dd/yyyy).
find -type f -newerct "09/01/2023"
Izveidotas pēdējo divu dienu laikā.
find . -type f -ctime -2
Atrast datnes pēc atļaujām:
Datnes, kuras var izpildīt (execute) jebkurš lietotājs.
find . -type f -perm 777