Как быстро ввести большое количество строк в файл, используя Bash - PullRequest
2 голосов
/ 25 октября 2011

Мне нужно создать группу перестановок букв, затем цифр и поместить их в файл.У меня есть несколько вложенных циклов 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 Ответ

6 голосов
/ 25 октября 2011

Bash расширение скобки может сделать это:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...