kika: (Default)
[personal profile] kika
Как в шелле создать файл длиной N (или даже M) байт, состоящий сплошь из символов 'X' (или 'A') ?

Я легко придумал решение, но оно поражает даже меня своим идиотизмом.

Date: 2009-04-26 08:05 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
ну тогда как-то так:

for a in  $(seq 1 1000000); do echo -n A >> qqq; done;


надеюсь, миллион записей туда запишется до того, как я отвалюсь спать. А на шелле это делать - обязательно?

Date: 2009-04-26 08:05 pm (UTC)
From: [identity profile] dmzlj.livejournal.com
отработало.

Date: 2009-04-26 08:11 pm (UTC)
From: [identity profile] kika.livejournal.com
Да, это решение элегантнее моего, хотя мое наверное эффективнее.

Собственно, я использовал
cat /dev/zero | tr '\000' 'Z' | dd bs=1 count=N > file

Date: 2009-04-26 08:11 pm (UTC)
From: [identity profile] kika.livejournal.com
после чего подумал что я наверное идиот.

Date: 2009-04-26 09:33 pm (UTC)
From: [identity profile] squadette.livejournal.com
это решение пахнет Хаскеллом

Date: 2009-04-26 10:01 pm (UTC)
From: [identity profile] kika.livejournal.com
Я сначала хотел написать "ты меня пугаешь", а потом подумал что это еще непонятно кто сильнее меня пугает, ты или я сам.

Date: 2009-04-26 09:54 pm (UTC)
From: [identity profile] furry.livejournal.com
Я тоже первым делом про dd подумала. Мне кажется, максимально масштабируемый вариант, anyway.

Date: 2009-04-27 02:33 am (UTC)
From: [identity profile] dmzlj.livejournal.com
извращенно. но наверное да, быстрее.

Date: 2009-04-27 03:40 am (UTC)
From: [identity profile] dmzlj.livejournal.com
Ну тогда, наверное, лучше было так:

cat /dev/zero | head -c 1000000 | tr '\0x000' 'A' > file


собственно, использовать tr была первая мысль, только я что-то сразу не нашелся, на что его натравить.

Date: 2009-04-27 03:54 am (UTC)
From: [identity profile] d1f.livejournal.com
и вам премию за cat.

Date: 2009-04-27 03:53 am (UTC)
From: [identity profile] d1f.livejournal.com
вручаю вам виртуальную премию за бессмысленное использование программы cat.

Date: 2009-04-27 04:23 am (UTC)
From: [identity profile] kika.livejournal.com
А вам за "экономию 10-ти наносекунд в середине очень короткого цикла"(с)

Profile

kika: (Default)
kika

January 2017

S M T W T F S
1234567
89 1011121314
151617181920 21
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 10th, 2025 06:29 am
Powered by Dreamwidth Studios