터미널에서 이미지를 열려고 시도했지만 성공하지 못했습니다.

터미널에서 이미지를 열려고 시도했지만 성공하지 못했습니다.

터미널 내에서 특정 날짜와 시간의 이미지를 열고 싶습니다. 다음을 사용하여 이미지를 찾았습니다.

# find . -type f -name '*2018-05-24*' | grep 18-46-31
./Screenshot from 2018-05-24 18-46-31.png

이제 위 출력의 터미널에서 이 이미지를 열려고 하는데 아래 명령이 작동하지 않는 것 같습니다.

# find . -type f -name '*2018-05-24*' | grep '18-46-31' | xargs xdg-open

내가 뭘 잘못했나요? 나는 grep의 출력을 xdg-open에 대한 옵션으로 전달하기 위해 xargs(아마 잘못된 xargs를 사용하고 있을 수도 있음)를 사용하고 있지만 다음과 같은 결과를 얻습니다.

xdg-open: unexpected argument 'from'
Try 'xdg-open --help' for more information.

답변1

xargs, 기본적으로 입력은 다음과 같이 분할됩니다.어느공백이므로 마지막으로 xdg-open4개의 인수 ./Screenshot, from, 로 2018-05-24실행됩니다 18-46-31.png. GNU xargs를 사용하면 개행 문자를 분할하는 데 사용할 수 있지만 다음 xargs -d '\n'을 사용하여 모든 작업을 수행할 수 있습니다 find.

find . -type f -name '*2018-05-24*18-46-31*' -exec xdg-open {} \;

findgrep(엄격히 말하면 패턴이 날짜와 시간을 이 순서로 강제하고 시간도 파일 이름 자체의 일부여야 하기 때문에 + 조합과 동일하지 않습니다 . find -name -name '*2018-05-24*' | grep 18-46-31또한 일치합니다 ./18-46-31/2018-05-24.png.)

관련 정보