리눅스에서 특정 Hex 패턴으로 큰 파일만들기 조언을 구합니다.
안녕하세요,
리눅스에서 특정 4바이트 Hex 값으로 다양한 크기의 파일(4K 부터 수십MB) 을 만드려고 합니다.
예를들면 1MB 의 파일을 모두
0x12345678 0x12345678 0x12345678 ... 총 (1MB) 이런식으로 만드려고 합니다.
처음 아이디어는 dd 를 이용하여 zero data 를 만든 후 이 zero data 를 원하는 4byte 크기의 패턴으로 변환하려고 하는데 패턴이 4바이트가 아닌 1바이트 변환밖에 되지를 않네요 ㅜ. 조언부탁드립니다.
예를 들면 dd 로 10KB 의 zero pattern 의 파일을 얻은 후 zero pattern 을 4byte Hex pattern 으로 변환
#] dd if=/dev/zero ibs=1k count=10 | tr "\000" $'\x12345678' > paddedFile.bin
하지만 이를 xxd 로 읽어보면 아래와 같이 1byte 만 변환되네요..
0000000: 1212 1212 1212 1212 1212 1212 1212 1212 ................
0000010: 1212 1212 1212 1212 1212 1212 1212 1212 ................
0000020: 1212 1212 1212 1212 1212 1212 1212 1212 ................
0000030: 1212 1212 1212 1212 1212 1212 1212 1212 ................
0000040: 1212 1212 1212 1212 1212 1212 1212 1212 ................
혹시 이를 아래 처럼 만들 수 있을까요? 조언 부탁드립니다.
0000000: 1234 5678 1234 5678 1234 5678 1234 5678
0000010: 1234 5678 1234 5678 1234 5678 1234 5678
0000020: 1234 5678 1234 5678 1234 5678 1234 5678
....
음 ..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
음 ..
위의 것을 이용해서 원하는 크기의 파일 만들기..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
음 ..
파일 크기가 4 로 나눠떨어지지 않는 경우(하위 2 비트가 0 이 아닌)..
짜투리 추가..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
yes 를 사용해서
ㄷㅁㄹ
ㄷㄷㄷㅁㄹ
[schoi0@SEL-SCHOI0-D2 net]$
음 ..
${val:$i%${#val}:1} 에서 pos 부분이 조금 이상한 것 같아서 한참 봤는데..
$((..)) 를 쓰지 않아도 계산이 되는거였군요. 간편해서 좋네요.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
무심코 썼다가 되는 걸 보고 좀 놀랐습니다.
무심코 썼다가 되는 걸 보고 좀 놀랐습니다.
코드를 그대로 쓰기엔 문제가 좀 있어요.
버그 수정[schoi0@SEL-SCHOI0-D2
버그 수정
댓글 달기