Ένας σύντομος οδηγός για το πώς να διαλέξεις 5 βίντεο από έναν φάκελο και να τα παίξεις στο VLC.
Η εντολή:
find "/path/to/your/videos" -maxdepth 1 -type f \( -iname \*.mp4 -o -iname \*.mkv -o -iname \*.gif \) | shuf -n5 | sed -e 's/^/"/g' -e 's/$/"/g' | tr '\n' ' ' | xargs vlc
Να το σπάσουμε σε βήματα:
- Κάνεις find στον φάκελο που θες βάζοντας το full path (χωρίς / στο τέλος)
- του λες -maxdepth 1 για να δει μόνο σε αυτόν τον φάκελο (μάλλον δεν χρειάζεται γιατί παρακάτω ψάχνεις μόνο για αρχεία, αλλά το έβαλα για καλό και για κακό)
- -type f για να ψάξεις μόνο αρχεία (όχι φακέλους)
- ( -iname *.mp4 -o -iname *.mkv -o -iname *.gif ) για να ψάξεις αρχεία που έχουν κατάληξη mp4 ή mkv ή gif κτλ. Προσαρμώζεις ανάλογα με τις απαιτήσεις σου
- κάνεις pipe σε | shuf -n5 για να σου διαλέξει 5 βίντεο από όλη την λίστα
- κάνεις | sed -e ‘s/^/"/g’ -e ‘s/$/"/g’ για να σου βάλεις double quotes στην αρχή και στο τέλος του κάθε αρχείου (χρειάζεται γιατί αν έχει κενά (whitespace) το παίρνει σαν καινούρια γραμμή)
- tr ‘\n’ ’ ’ ← αυτό αντικαθιστά όλες τις νέες γραμμές (newline \n) με κενό γιατί το vlc θέλει πολλά βίντεο με την μορφή vlc “file1.p4” “file2.mp4” “file3.mp4” κτλ
- Τέλος | xargs vlc για να περάσει όλο το προηγούμενο output των εντολών ως παράμετρο για το vlc