파일 크기가 256MB입니다. 이 파일에서 임의의 양의 데이터를 검색하여 다른 파일에 복사하고 싶습니다.bash를 사용하여 파일에서 임의의 바이트 수를 구합니까?
bash 또는 다른 방법으로이를 수행 할 수있는 방법이 있습니까?
편집 : 1에서 256 사이의 임의의 숫자를 선택한 다음 해당 파일의 mb 수를 다른 파일로 복사하십시오. 처음부터 시작
파일 크기가 256MB입니다. 이 파일에서 임의의 양의 데이터를 검색하여 다른 파일에 복사하고 싶습니다.bash를 사용하여 파일에서 임의의 바이트 수를 구합니까?
bash 또는 다른 방법으로이를 수행 할 수있는 방법이 있습니까?
편집 : 1에서 256 사이의 임의의 숫자를 선택한 다음 해당 파일의 mb 수를 다른 파일로 복사하십시오. 처음부터 시작
당신의 OS는/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
Bash는 내장 RANDOM 변수를 가지고 있습니다. –
@ Jürgen : 알아두면 좋을 것. 나는 지금까지 내가 아는 tcsh를 사용하지 않는다. – nsayer
cat somefile|head -c `head -c 3 /dev/random |hexdump -d|cut -f4 -d ' '|head -n1`
이 사본 :
# (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=
옵션을 사용합니다.
(내 나쁜, 블록 크기를 지정하는 것을 잊었다.)
이것은 입력 파일의 전체 내용을 복사합니다. – GeoffreyF67
'$ RANDOM'은 0-32767 범위의 의사 난수를 포함하는 Bash의 내장 자동 변수입니다. –
"무작위"란 무엇을 말합니까? 난수 생성 방법을 묻고 있습니까? 아니면 "임의"라는 뜻입니까? – Cascabel
이 숙제가 있습니까? 이 작업을 수행 할 실제 이유가 많지 않습니다 ... – Cascabel
숙제? 하하 싫어. 98 년에 대학을 마쳤습니다. – GeoffreyF67