다음과 같은 파일이 있습니다.
4-some file.mp4
1-another file.mp4
3-one more file.mp4
2-got another file.mp4
등.
vlc에서 파일을 재생하려면 명령줄을 사용하고, vlc *
정렬되지 않은 순서로 파일을 재생하려면 사용하세요.
그래서 vlc ""를 사용하여 파일을 재생하려고 하면 vlc < <(ls * | sort -V)
작동하지 않습니다.
파일의 전체 목록이 하나의 인수로 표시되므로 를 사용하여 파일의 타임스탬프를 변경하려고 하면
for i in "$(ls [!R]* | sort -V)"; do touch "$i";sleep 1; done
작동하지 않지만 파일 이름에 공백이 있기 때문에 큰따옴표를 제거할 수 없습니다."$(ls [!R]* | sort -V)"
답변1
이것은 작동합니다
find . -name "*mp4" -print0 | sort -Vz | xargs -0 vlc
답변2
-v natural sort of (version) numbers within text
예를 들어 GNU ls에는 sort -V
.
파일 이름의 공백은 에서 공백을 제거하여 처리할 수 있습니다 $IFS
(파일 이름에 줄 바꿈이 없다고 가정).
$ IFS=$'\n'
$ for x in $(ls -v) ; do echo "> $x" ; done
> 1-aa aa
> 2-cc cc
> 10-bb bb
> 21-dd dd
$ vlc $(ls -v)
(이 작업을 대화형으로 수행하면 IFS
변경 사항이 나중에 수정된 상태로 유지됩니다.)
자세한 내용은 IFS
다음을 참조하세요.파일 이름의 특수 문자에 대한 David Wheeler의 작업