使用脚本编号和复制具有奇数和偶数的文件

numbering and duplicating files with odd and even numbers with script

我正在尝试复制文件并在文件末尾添加奇数和偶数我该怎么做?我知道我可以按顺序使用 {001..10} 但我怎样才能让它只做奇数和偶数。 PS 这是 bash 脚本示例。

for i in {001..10}; %want odd numbers 001,003,005,007,009
    do 
        cp talk_only_L1L2_18_feb_11_2016_.wav file-$i; 
done

for i in {001..10}; %want even numbers 002,004,006,008,010
    do 
        cp talk_only_L1L2_19_feb_11_2016_.wav file-$i; 
done

你可以这样做,对于奇数

for i in {001..10..2}; ...

对于偶数,它是相似的,但你必须改变开始

for i in {002..10..2}; ...

一种带有 while 循环的方法,它将在任何 POSIX 兼容的 shell 中工作。

i=0
while [ "$i" -le 10 ]; do
    if [ "$(i % 2)" = 0 ]; then
        # do even-file stuff
    else
        # do odd-file stuff
    fi
    i=$((i + 1))
done

有两个循环,

i=0
while [ "$i" -le 10 ]; do
    # do even-file stuff
    i=$((i + 2))
done
i=1
while [ "$i" -le 10 ]; do
    # do odd-file stuff
    i=$((i + 2))
done