English 中文(简体)
Bash 产出与变量的对比
原标题:Bash parsing outputs to variables

我试图把我的照片带入海峡和地貌。 我的指挥是,对小pe的规模进行打印:

identify -format  %w %h
  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
  $f | awk # how do I get the width and height?
 if $width > $hieght
  mv ~/pictures/$f ~/pictures/landscape/$f
 fi
done

看一看一页,但我看上去看一看。

最佳回答

你们不需要AWK。 与此类似:

identify -format  %w %h
  $f | while read width height
do
    if [[ $width -gt $height ]]
    then
        mv ~/pictures/$f ~/pictures/landscape/$f
    fi
done
问题回答

您可使用<条码>。

# WxH is a array which contains (W, H)
WxH=($(identify -format  %w %h
  $f))
width=${WxH[0]}
height=${WxH[1]}
format=`identify -format  %w %h
  $f`;
height=`echo $format | awk  {print $1} `;
width=`echo $format | awk  {print $2} `;

现在用于“盲目、明显”的球:

# use the identify format string to print variable assignments and eval
eval $(identify -format  width=%w; height=%h  $f)




相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签