У меня были хорошие события с помощью rdiff-резервного-копирования приблизительно в 2005. Разработка с 2009 не ни до чего, но это может просто быть то, потому что проект теперь довольно стабилен: это было в разработке с 2002. Все еще, кажется, существует действие по списку рассылки, все же. Это использует тот же базовый алгоритм в качестве rsync. В то время как это не так необычно и полнофункционально как некоторые другие решения для резервного копирования, это имеет преимущество того, чтобы быть довольно гибким и настраиваемым, и основная функциональность довольно проста.
busybox seq -s'
word ' 4000 |
sed '/000/w /dev/fd/2' |
wc -l
word 1000
word 2000
word 3000
word 4000
4000
Вы должны просто использовать busybox
's builtin seq
и указать word
в качестве разделителя. Затем при желании вы можете > перенаправить
в файл. В приведенном выше примере я разделился на sed
только для того, чтобы вы могли получить представление о выходе без необходимости смотреть на 4000 строк - но все они были распечатаны. Если ваш ящик busybox
не поддерживает это, выполните обновление .
Таким образом, в основном все, что вам нужно для всей этой штуки $a
, это:
busybox seq -s'
word ' $MAX_INCREMENT >$TO_FILE
Вы можете создать здесь документ и использовать cat
:
$ cat <<EOT >output
$a
EOT
$ wc -l output
40000
Я не знаю точно, насколько мощен пепел
вашего Busybox (его можно настроить) , но это должно работать где угодно, даже без каких-либо встроенных функций. Он расширяет значение переменной в квази-файл, который затем передается в cat
, а не помещает само значение в командную строку.
Поскольку кажется, что в вашей строке есть литерал "\ n"
, от которого вы хотите избавиться, вы также можете использовать замену строки во время подстановки параметров. Этот можно настроить вне Busybox ash
, и в этом случае вам придется перейти на sed
. Если у вас есть это (не POSIX) расширение, вы можете использовать $ {var // \\\ n / $ NEWLINE}
:
$ busybox ash
$ foo="x\ny\nz"
$ echo "$foo"
x\ny\nz
$ NEWLINE="
"
$ echo "${foo//\\\n/$NEWLINE}"
x
y
z
Это тот же синтаксис , что и Bash ; $ {var / pattern / replacement}
, где шаблон
является глобальным, если он начинается с /
. Похоже, в вашем ash
многое настроено, так что этого может вообще не быть. В этом случае вам, вероятно, придется использовать sed
, хотя я полагаю, что разумное использование IFS
и read
позволит вам обойти это и восстановить правильная строка.