簡體   English   中英

用bash從文件中隨機獲取字節數?

[英]Grab a random number of bytes from a file with bash?

我有一個256MB的文件。 我想從此文件中檢索隨機數據並將其復制到另一個文件。

有沒有辦法以bash或其他方式做到這一點?

編輯:選擇一個介於1到256之間的隨機數,然后將該mb數從一個文件復制到另一個文件。

此復制從頭開始:

# (random) blocks of one byte
dd of=output_file if=input_file ibs=1 count=$((($RANDOM % 256) + 1)M

# one block of (random) bytes
dd of=output_file if=input_file ibs=$((($RANDOM % 256) + 1)M count=1

如果需要,請使用skip=選項從其他地方開始。

(我很糟糕,忘記指定塊大小了。)

cat somefile|head -c `head -c 3 /dev/random |hexdump -d|cut -f4 -d ' '|head -n1`

如果您的操作系統具有/ dev / urandom,則選擇隨機數很容易:

RANDNUM=`dd if=/dev/urandom bs=1 count=1 | od -t u1 | cut -f4- -d ' ' | head -1 | sed 's/ //g'`

一旦有了一個隨機數,

dd if=input_file of=output_file bs=${RANDNUM}m count=1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM