如何使用Bash快速将大量字符串输入到文件中

时间:2011-10-25 16:26:42

标签: file bash

我需要创建一堆字母排列,然后是数字并将其放入文件中。我有一堆嵌套的for循环,如下所示,然后我将它回显到文件中,但这非常慢,可能是一个小时或更长时间(我懒得想多久)。我怎么能更快地做到这一点,我认为缓慢的部分是我多次打开和关闭文件。

for a in {a..z}
do
    for b in {a..z}
    do
        for c in {a..z}
        do
            for i in {1..100}
            do
                echo "$a$b$c$i" >> permutations
            done
        done
    done
done

是的,我知道Bash不是最好的语言,但这是我必须使用的。

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

Bash brace expansion可以执行此操作:

echo {a..z}{a..z}{a..z}{1..100} > permutations

如果您想在新行上进行每个排列,可以添加替换:

echo {a..z}{a..z}{a..z}{1..100} | sed -e "s/\ /\n/g" > permutations