다음을 사용하지 않고 파일을 자르지 않는 'dd'에 대한 대안을 아는 사람이 있습니까 conv=notrunc
? conv=notrunc
제한된 공간으로 인해 비지박스/토이박스를 통한 추가는 지원되지 않습니다.
예를 들어, 나는 다음과 같은 것을 원합니다.
dd bs=4 count=3 skip=2 seek=3 if=file.in of=file.out conv=notrunc
그러나 이것은 dd
지원되지 않는 곳에서는 작동합니다 conv=notrunc
.
답변1
표준 <>
sh
리디렉션 연산자를 사용하여 읽기+쓰기 모드로 파일 열기잘림 없음.
cat < file.in 1<> file.out
file.in
시작 부분을 복사하세요 file.out
.
입력 또는 출력 파일을 찾아야 하고 dd
다음 지시문을 계속 지원한다고 가정하는 경우:
dd bs=4 count=3 skip=2 seek=3 < file.in 1<> file.out
dd
그것이 전혀 없다면 head -c
버전이 종료 시 파일의 올바른 위치에 포인터를 남긴다고 가정하여 시도해 볼 수 있습니다(IIRC 이전 버전의 busybox는 이 작업을 수행하지 않았습니다).
예를 들어, 위와 동등한 내용은 다음과 같습니다.
{
head -c 8 > /dev/null # seek input fd to offset 8
head -c 12 <&1 > /dev/null # seek output fd to offset 12
head -c 12 # copy 12 bytes
} < file.in 1<> file.out