GNU/Linux >> Linux Esercitazione >  >> Linux

Alternativa a "dd" che non tronca il file?

Qualcuno conosce un'alternativa per 'dd', che non troncherà il file, senza usare:conv=notrunc . Aggiunta di conv=notrunc non è supportato tramite busybox/toybox a causa dello spazio limitato.

Ad esempio, vorrei l'equivalente di

dd bs=4 count=3 skip=2 seek=3 if=file.in of=file.out conv=notrunc

Ma funzionerebbe dove dd non supporta conv=notrunc .

Risposta accettata:

Utilizzare lo standard <> sh operatore di reindirizzamento che apre il file in modalità lettura+scrittura senza troncamento .

cat < file.in 1<> file.out

Per copiare il contenuto di file.in all'inizio di file.out .

Se hai bisogno di cercare nel file di input o output e assumendo il tuo dd supporta ancora queste direttive:

dd bs=4 count=3 skip=2 seek=3 < file.in 1<> file.out

Se non hai dd a tutti, puoi provare head -c , supponendo che la tua versione si occupi di lasciare il puntatore nel file nel posto giusto all'uscita (cosa che le versioni precedenti di Busybox IIRC non stavano facendo).

Ad esempio, l'equivalente di quanto sopra sarebbe:

{
  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

Linux
  1. In che modo il comando Xdg-open sa quale applicazione utilizzare per aprire un file?

  2. Come rimuovere le linee che appaiono sul file B da un altro file A?

  3. Quale thread gestisce il segnale?

  4. Come cancellare il contenuto di un file dalla riga di comando?

  5. Qual è il comando unix per scoprire quale file eseguibile corrisponde a un determinato comando?

Introduzione al file system Linux

Utilizzo del file di configurazione SSH

È possibile trovare quale Vim/tmux ha il file aperto?

Il comando Cat non mostra le righe del testo?

I 10 migliori sistemi operativi alternativi a Windows:qual è il migliore per te?

Come troncare il file per righe?