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

时间:2016-02-15 23:58:09

标签: linux bash shell awk sh

我正在尝试复制文件并在其末尾添加奇数和偶数我该怎么办?我知道我可以按顺序使用{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

2 个答案:

答案 0 :(得分:1)

具有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

答案 1 :(得分:0)

对于奇数

,你可以这样做
for i in {001..10..2}; ...

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

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