사진을 세로 및 가로로 정렬하려고합니다. 나는 그것이출력을 변수로 구문 분석하는 Bash
같은 것으로 예상 것 다른 폴더로 모든 풍경 사진을 이동하려면 bash는 스크립트에서 사용 된 경우identify -format '%w %h\n' 1234.jpg
1067 1600
: 나는 사진과 크기 치수를 인쇄하는 명령과 함께 올라와있다
#!/bin/bash
# loop through file (this is psuedo code!!)
for f in ~/pictures/
do
# Get the dimensions (this is the bit I have an issue with)
identify -format '%w %h\n' $f | awk # how do I get the width and height?
if $width > $hieght
mv ~/pictures/$f ~/pictures/landscape/$f
fi
done
awk 맨 페이지를보고 있지만 구문을 찾을 수없는 것 같습니다.
티켓입니다. awk 남자를 다시 읽는 동안 나에게 더 좋은 방법이있을 수 있습니다. 고맙습니다. – Ne0
@ Ne0 : 변수'$ f'는 이미지 파일 이름에 공백이 자주 포함되기 때문에 나타나는 각 위치에서 인용해야합니다. Bash를 사용하고 있기 때문에 이것을 정수 비교에 사용해야합니다 :'if ((width> height))'. 이 경우에는 작동하지만 명령을 'while'으로 파이프하면 서브 쉘이 만들어 지므로 루프 내에서 설정된 모든 변수 값이 손실됩니다. 이 문제가있는 경우, 프로세스 치환을 사용하십시오 : while while done <<(identify ...). 변수 값은 루프가 완료된 후에 사용할 수 있습니다. –
while 루프는 무엇입니까? 'identify '는 여러 줄을 출력하지 않는 것 같습니다. – Kaz